aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorPaul Gilbert2017-07-24 08:09:00 -0400
committerPaul Gilbert2017-07-24 08:09:00 -0400
commit64cbcba420843aa1bb0888b15592ad08fa17dc59 (patch)
tree3ecb05aab67f62fb89ba73000dc2b841646cf1b0
parent2005ed79d60632b92e3653bf0da69479b2d2324b (diff)
downloadscummvm-rg350-64cbcba420843aa1bb0888b15592ad08fa17dc59.tar.gz
scummvm-rg350-64cbcba420843aa1bb0888b15592ad08fa17dc59.tar.bz2
scummvm-rg350-64cbcba420843aa1bb0888b15592ad08fa17dc59.zip
TITANIC: Workaround Conversation area corruption when dragging items
When dragging an item, the bounds for the area of the screen affected goes from the dragged item to the blinking cursor when the conversation tab is active. This rect overlapping the conversation area somehow starts erasing some of the conversation log. Despite some effort, I haven't been able to track down the exact cause. So the easiest workaround is simply to make the entire PET as dirty each frame when dragging an item, which seems to fix the problem. Though it would be nice, at some point, if the rooot cause could still be identified.
-rw-r--r--engines/titanic/game_manager.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/engines/titanic/game_manager.cpp b/engines/titanic/game_manager.cpp
index d3d9ced9d1..6079d6fef0 100644
--- a/engines/titanic/game_manager.cpp
+++ b/engines/titanic/game_manager.cpp
@@ -184,6 +184,11 @@ void CGameManager::update() {
// Also include any modified area of the PET control
if (_project) {
CPetControl *pet = _project->getPetControl();
+
+ // FIXME: Distortion of text in Conversation tab when dragging items
+ if (_dragItem)
+ pet->makeDirty();
+
if (pet)
_bounds.combine(pet->getBounds());
}