aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2016-12-19 08:30:19 -0500
committerPaul Gilbert2016-12-19 08:30:19 -0500
commit8637cfc617d57bb9ea1e3f81f16c7b4f9f5b38ee (patch)
tree55cffe67193b7498f94fa6f12499344312f7b30d
parentdd781df71769f9b369349ec6c94862387998dce6 (diff)
downloadscummvm-rg350-8637cfc617d57bb9ea1e3f81f16c7b4f9f5b38ee.tar.gz
scummvm-rg350-8637cfc617d57bb9ea1e3f81f16c7b4f9f5b38ee.tar.bz2
scummvm-rg350-8637cfc617d57bb9ea1e3f81f16c7b4f9f5b38ee.zip
TITANIC: Fix CMouseCursor assert after trying to drag perch
-rw-r--r--engines/titanic/core/drop_target.cpp3
-rw-r--r--engines/titanic/input_handler.cpp4
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);