diff options
| -rw-r--r-- | engines/titanic/pet_control/pet_drag_chev.cpp | 22 | ||||
| -rw-r--r-- | engines/titanic/pet_control/pet_rooms_glyphs.cpp | 2 | 
2 files changed, 11 insertions, 13 deletions
diff --git a/engines/titanic/pet_control/pet_drag_chev.cpp b/engines/titanic/pet_control/pet_drag_chev.cpp index 7816570a23..4fe64283ff 100644 --- a/engines/titanic/pet_control/pet_drag_chev.cpp +++ b/engines/titanic/pet_control/pet_drag_chev.cpp @@ -54,20 +54,16 @@ bool CPetDragChev::MouseDragMoveMsg(CMouseDragMoveMsg *msg) {  }  bool CPetDragChev::MouseDragEndMsg(CMouseDragEndMsg *msg) { -	if (msg->_dropTarget) { -		CSuccUBus *succubus = dynamic_cast<CSuccUBus *>(msg->_dropTarget); +	CSuccUBus *succubus = dynamic_cast<CSuccUBus *>(msg->_dropTarget); -		if (succubus) { -			CSetChevRoomBits chevMsg(_id); -			chevMsg.execute(succubus); -		} else { -			CPetControl *petControl = getPetControl(); -			if (petControl && petControl->contains(msg->_mousePos) -					&& msg->_mousePos.x < 528) { -				if (petControl->checkDragEnd(this)) -					petMoveToHiddenRoom(); -			} -		} +	if (succubus) { +		CSetChevRoomBits chevMsg(_id); +		chevMsg.execute(succubus); +	} else { +		CPetControl *petControl = getPetControl(); +		if (!petControl || !petControl->contains(msg->_mousePos) +				|| msg->_mousePos.x >= 528 || !petControl->checkDragEnd(this)) +			petMoveToHiddenRoom();  	}  	return true; diff --git a/engines/titanic/pet_control/pet_rooms_glyphs.cpp b/engines/titanic/pet_control/pet_rooms_glyphs.cpp index 0f7a5828b3..47457bae4e 100644 --- a/engines/titanic/pet_control/pet_rooms_glyphs.cpp +++ b/engines/titanic/pet_control/pet_rooms_glyphs.cpp @@ -133,6 +133,8 @@ bool CPetRoomsGlyph::dragGlyph(const Point &topLeft, CMouseDragStartMsg *msg) {  			if (msg->execute(chevron))  				return true; + +			petControl->moveToHiddenRoom(chevron);  		}  	}  | 
