diff options
Diffstat (limited to 'engines/titanic')
-rw-r--r-- | engines/titanic/core/drop_target.cpp | 3 | ||||
-rw-r--r-- | engines/titanic/input_handler.cpp | 4 |
2 files changed, 4 insertions, 3 deletions
diff --git a/engines/titanic/core/drop_target.cpp b/engines/titanic/core/drop_target.cpp index 8165d58f8d..f02efeee5d 100644 --- a/engines/titanic/core/drop_target.cpp +++ b/engines/titanic/core/drop_target.cpp @@ -113,9 +113,10 @@ bool CDropTarget::DropObjectMsg(CDropObjectMsg *msg) { } bool CDropTarget::MouseDragStartMsg(CMouseDragStartMsg *msg) { + CTreeItem *dragItem = msg->_dragItem; if (!checkStartDragging(msg)) return false; - //msg->_dragItem = msg->_dragItem; + msg->_dragItem = dragItem; CGameObject *obj = dynamic_cast<CGameObject *>(findByName(_itemName)); if (_itemName.empty() || _fieldF4 || !obj) diff --git a/engines/titanic/input_handler.cpp b/engines/titanic/input_handler.cpp index e4c60d24e9..ba2c08ed89 100644 --- a/engines/titanic/input_handler.cpp +++ b/engines/titanic/input_handler.cpp @@ -100,8 +100,8 @@ void CInputHandler::processMessage(CMessage *msg) { CMouseDragMoveMsg moveMsg(_mousePos); moveMsg.execute(_dragItem); } - } else { - if (mouseMsg->isButtonUpMsg() && _dragItem) { + } else if (mouseMsg->isButtonUpMsg()) { + if (_dragItem) { // Mouse drag ended CGameObject *target = dragEnd(_mousePos, _dragItem); CMouseDragEndMsg endMsg(_mousePos, target); |