aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/parallaction/parallaction_ns.cpp6
1 files changed, 4 insertions, 2 deletions
diff --git a/engines/parallaction/parallaction_ns.cpp b/engines/parallaction/parallaction_ns.cpp
index 6541498988..36f576f38b 100644
--- a/engines/parallaction/parallaction_ns.cpp
+++ b/engines/parallaction/parallaction_ns.cpp
@@ -370,6 +370,10 @@ void Parallaction_ns::changeLocation(char *location) {
_gfx->setBlackPalette();
_gfx->updateScreen();
+ // BUG #1837503: kEngineChangeLocation flag must be cleared *before* commands
+ // and acommands are executed, so that it can be set again if needed.
+ _engineFlags &= ~kEngineChangeLocation;
+
runCommands(_location._commands);
doLocationEnterTransition();
@@ -381,8 +385,6 @@ void Parallaction_ns::changeLocation(char *location) {
debugC(1, kDebugExec, "changeLocation() done");
- _engineFlags &= ~kEngineChangeLocation;
-
return;
}