aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Horn2009-06-07 17:18:11 +0000
committerMax Horn2009-06-07 17:18:11 +0000
commitee21d82948d55518da2f09443d0113f942f9895f (patch)
treee049cab449bcd0d7a581cda3ddd95d6947e0f892
parent21d948ec05e5bc09106edcf259bf839e3e8be964 (diff)
downloadscummvm-rg350-ee21d82948d55518da2f09443d0113f942f9895f.tar.gz
scummvm-rg350-ee21d82948d55518da2f09443d0113f942f9895f.tar.bz2
scummvm-rg350-ee21d82948d55518da2f09443d0113f942f9895f.zip
SCI: Fixed the broken SciEngine::pauseEngineIntern code by ensuring that SciEngine::_gamestate is updated whenever the EngineState gets changed (due to loading a savestate)
svn-id: r41346
-rw-r--r--engines/sci/engine/vm.cpp4
1 files changed, 2 insertions, 2 deletions
diff --git a/engines/sci/engine/vm.cpp b/engines/sci/engine/vm.cpp
index 7b5fe3396a..b01e5054af 100644
--- a/engines/sci/engine/vm.cpp
+++ b/engines/sci/engine/vm.cpp
@@ -1947,7 +1947,7 @@ static void _init_stack_base_with_selector(EngineState *s, Selector selector) {
EngineState *g_EngineState = 0;
-static EngineState *_game_run(EngineState *s, int restoring) {
+static EngineState *_game_run(EngineState *&s, int restoring) {
EngineState *successor = NULL;
int game_is_finished = 0;
g_EngineState = s;
@@ -2014,7 +2014,7 @@ int game_run(EngineState **_s) {
return 1;
}
// and ENGAGE!
- *_s = s = _game_run(s, 0);
+ _game_run(*_s, 0);
sciprintf(" Game::play() finished.\n");