aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMartin Kiewitz2010-11-01 20:08:42 +0000
committerMartin Kiewitz2010-11-01 20:08:42 +0000
commit130365ef0d36372349f566104faaa1acc105940d (patch)
tree5fd65110a4ff3107a2a3e67bcd5e427246eba8b7
parenta46b1adeae8fae1f85f7d72dd5d000b258d87536 (diff)
downloadscummvm-rg350-130365ef0d36372349f566104faaa1acc105940d.tar.gz
scummvm-rg350-130365ef0d36372349f566104faaa1acc105940d.tar.bz2
scummvm-rg350-130365ef0d36372349f566104faaa1acc105940d.zip
SCI: fixing port restoring
- recalculate _freeCounter - dont push disposed windows onto windowlist svn-id: r54017
-rw-r--r--engines/sci/engine/savegame.cpp12
1 files changed, 8 insertions, 4 deletions
diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp
index 16c5317952..d0dcbd2993 100644
--- a/engines/sci/engine/savegame.cpp
+++ b/engines/sci/engine/savegame.cpp
@@ -646,10 +646,14 @@ void GfxPorts::saveLoadWithSerializer(Common::Serializer &s) {
// of the window can only get repainted by the scripts and they dont do that
// so we will get empty, transparent windows instead. So perfect window order
// shouldn't really matter
- if (window->wndStyle & SCI_WINDOWMGR_STYLE_TOPMOST)
- _windowList.push_front(window);
- else
- _windowList.push_back(window);
+ if (window->counterTillFree) {
+ _freeCounter++;
+ } else {
+ if (window->wndStyle & SCI_WINDOWMGR_STYLE_TOPMOST)
+ _windowList.push_front(window);
+ else
+ _windowList.push_back(window);
+ }
windowCount--;
}