diff options
-rw-r--r-- | engines/parallaction/dialogue.cpp | 7 |
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). |