aboutsummaryrefslogtreecommitdiff
path: root/engines/titanic/input_handler.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/titanic/input_handler.cpp')
-rw-r--r--engines/titanic/input_handler.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/engines/titanic/input_handler.cpp b/engines/titanic/input_handler.cpp
index 9fa2b0073c..e2d1bd7a32 100644
--- a/engines/titanic/input_handler.cpp
+++ b/engines/titanic/input_handler.cpp
@@ -49,7 +49,10 @@ void CInputHandler::incLockCount() {
}
void CInputHandler::decLockCount() {
- if (--_lockCount == 0 && _inputTranslator) {
+ --_lockCount;
+ assert(_lockCount >= 0);
+
+ if (_lockCount == 0 && _inputTranslator) {
if (_dragging && !_inputTranslator->isMousePressed()) {
CMouseButtonUpMsg upMsg(_mousePos, MK_LBUTTON);
handleMessage(upMsg);
@@ -107,6 +110,7 @@ void CInputHandler::processMessage(CMessage *msg) {
_dragging = false;
_dragItem = nullptr;
+ _gameManager->_dragItem = nullptr;
}
} else if (_buttonDown) {
if (!mouseMsg->isMouseMoveMsg()) {