aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/lab/lab.cpp6
-rw-r--r--engines/lab/savegame.cpp21
2 files changed, 16 insertions, 11 deletions
diff --git a/engines/lab/lab.cpp b/engines/lab/lab.cpp
index 0a4cf4ec50..45b895d358 100644
--- a/engines/lab/lab.cpp
+++ b/engines/lab/lab.cpp
@@ -214,12 +214,6 @@ void LabEngine::updateEvents() {
Common::Error LabEngine::loadGameState(int slot) {
bool result = loadGame(slot);
- _curFileName = " ";
- _closeDataPtr = nullptr;
- _mainDisplay = true;
- _followingCrumbs = false;
- _event->simulateEvent();
- _graphics->_longWinInFront = false;
return (result) ? Common::kNoError : Common::kUserCanceled;
}
diff --git a/engines/lab/savegame.cpp b/engines/lab/savegame.cpp
index 16c4044839..656595e3e5 100644
--- a/engines/lab/savegame.cpp
+++ b/engines/lab/savegame.cpp
@@ -157,6 +157,11 @@ bool LabEngine::saveGame(int slot, const Common::String desc) {
file->finalize();
delete file;
+ _mainDisplay = true;
+ _alternate = false;
+ _event->simulateEvent();
+ _graphics->screenUpdate();
+
return true;
}
@@ -202,6 +207,17 @@ bool LabEngine::loadGame(int slot) {
delete file;
+ _curFileName = " ";
+ _closeDataPtr = nullptr;
+ _followingCrumbs = false;
+ _graphics->_longWinInFront = false;
+ _event->initMouse();
+
+ _mainDisplay = true;
+ _alternate = false;
+ _event->simulateEvent();
+ _graphics->screenUpdate();
+
return true;
}
@@ -238,11 +254,6 @@ bool LabEngine::saveRestoreGame() {
delete dialog;
}
- _alternate = false;
- _mainDisplay = true;
- _event->initMouse();
- _graphics->screenUpdate();
-
return isOK;
}