aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sci/engine/savegame.cpp4
-rw-r--r--engines/sci/graphics/palette.h3
2 files changed, 6 insertions, 1 deletions
diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp
index ff3f19b53d..2a39f24ecd 100644
--- a/engines/sci/engine/savegame.cpp
+++ b/engines/sci/engine/savegame.cpp
@@ -878,6 +878,10 @@ void gamestate_restore(EngineState *s, Common::SeekableReadStream *fh) {
}
}
+ // Remove the palVary effect timer, if there is one running currently.
+ // Fixes bug #3575569.
+ g_sci->_gfxPalette->palVaryRemoveTimer();
+
// We don't need the thumbnail here, so just read it and discard it
Graphics::skipThumbnail(*fh);
diff --git a/engines/sci/graphics/palette.h b/engines/sci/graphics/palette.h
index e974781d49..1ca1f2dbb7 100644
--- a/engines/sci/graphics/palette.h
+++ b/engines/sci/graphics/palette.h
@@ -105,6 +105,8 @@ public:
byte findMacIconBarColor(byte r, byte g, byte b);
bool colorIsFromMacClut(byte index);
+ void palVaryRemoveTimer();
+
#ifdef ENABLE_SCI32
bool loadClut(uint16 clutId);
byte matchClutColor(uint16 color);
@@ -114,7 +116,6 @@ public:
private:
void palVaryInit();
void palVaryInstallTimer();
- void palVaryRemoveTimer();
bool palVaryLoadTargetPalette(GuiResourceId resourceId);
static void palVaryCallback(void *refCon);
void palVaryIncreaseSignal();