aboutsummaryrefslogtreecommitdiff
path: root/engines/sci
diff options
context:
space:
mode:
authorFilippos Karapetis2011-11-17 11:00:09 +0200
committerFilippos Karapetis2011-11-17 11:00:09 +0200
commit5fc9831577858a15ee323b41a1b9e6d01c444118 (patch)
treedcfc195cdc4a6b7ed3e991124a41f88059ea658f /engines/sci
parentea8a8278e54b36273cb7bbae139a21a6c2bf50df (diff)
downloadscummvm-rg350-5fc9831577858a15ee323b41a1b9e6d01c444118.tar.gz
scummvm-rg350-5fc9831577858a15ee323b41a1b9e6d01c444118.tar.bz2
scummvm-rg350-5fc9831577858a15ee323b41a1b9e6d01c444118.zip
SCI: Fixed bug #3439240 - "QFG1VGA: Game Crashes While Sleeping at Erana's Peace"
Diffstat (limited to 'engines/sci')
-rw-r--r--engines/sci/graphics/palette.cpp5
1 files changed, 5 insertions, 0 deletions
diff --git a/engines/sci/graphics/palette.cpp b/engines/sci/graphics/palette.cpp
index a7a5dc94d1..b8a4248c93 100644
--- a/engines/sci/graphics/palette.cpp
+++ b/engines/sci/graphics/palette.cpp
@@ -709,6 +709,11 @@ bool GfxPalette::palVaryLoadTargetPalette(GuiResourceId resourceId) {
}
void GfxPalette::palVaryInstallTimer() {
+ // Remove any possible leftover palVary timer callbacks.
+ // This happens for example in QFG1VGA, when sleeping at Erana's place
+ // (bug #3439240).
+ palVaryRemoveTimer();
+
int16 ticks = _palVaryTicks > 0 ? _palVaryTicks : 1;
// Call signal increase every [ticks]
g_sci->getTimerManager()->installTimerProc(&palVaryCallback, 1000000 / 60 * ticks, this, "sciPalette");