aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sci/graphics/animate.cpp9
1 files changed, 8 insertions, 1 deletions
diff --git a/engines/sci/graphics/animate.cpp b/engines/sci/graphics/animate.cpp
index f3470fb1f6..dd84a9a105 100644
--- a/engines/sci/graphics/animate.cpp
+++ b/engines/sci/graphics/animate.cpp
@@ -352,7 +352,14 @@ void GfxAnimate::update() {
it->signal &= ~(kSignalViewUpdated | kSignalNoUpdate);
} else if (it->signal & kSignalStopUpdate) {
it->signal &= ~kSignalStopUpdate;
- it->signal |= kSignalNoUpdate;
+ if (g_sci->getGameId() == GID_HOYLE3 && g_sci->isDemo()) {
+ // WORKAROUND: The demo of Hoyle 3 doesn't seem to set this
+ // flag in this case. Not setting this fixes a large number
+ // of incorrect animate entries being drawn on top of dialog
+ // boxes (bug #3036763)
+ } else {
+ it->signal |= kSignalNoUpdate;
+ }
}
}