diff options
author | Martin Kiewitz | 2010-11-01 20:08:42 +0000 |
---|---|---|
committer | Martin Kiewitz | 2010-11-01 20:08:42 +0000 |
commit | 130365ef0d36372349f566104faaa1acc105940d (patch) | |
tree | 5fd65110a4ff3107a2a3e67bcd5e427246eba8b7 | |
parent | a46b1adeae8fae1f85f7d72dd5d000b258d87536 (diff) | |
download | scummvm-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.cpp | 12 |
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--; } |