diff options
Diffstat (limited to 'engines/titanic/input_handler.cpp')
-rw-r--r-- | engines/titanic/input_handler.cpp | 6 |
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()) { |