aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/parallaction/dialogue.cpp7
1 files changed, 4 insertions, 3 deletions
diff --git a/engines/parallaction/dialogue.cpp b/engines/parallaction/dialogue.cpp
index 290f8cfd4f..5f0d9f76f2 100644
--- a/engines/parallaction/dialogue.cpp
+++ b/engines/parallaction/dialogue.cpp
@@ -359,9 +359,6 @@ void DialogueManager::run() {
break;
case DIALOGUE_OVER:
- if (_cmdList) {
- _vm->_cmdExec->run(*_cmdList);
- }
break;
default:
@@ -381,6 +378,10 @@ void Parallaction::exitDialogueMode() {
debugC(1, kDebugDialogue, "Parallaction::exitDialogueMode()");
_input->_inputMode = Input::kInputModeGame;
+ if (_dialogueMan->_cmdList) {
+ _vm->_cmdExec->runList(*_dialogueMan->_cmdList);
+ }
+
// The current instance of _dialogueMan must be destroyed before the zone commands
// are executed, because they may create another instance of _dialogueMan that
// overwrite the current one. This would cause headaches (and it did, actually).