aboutsummaryrefslogtreecommitdiff
path: root/engines
diff options
context:
space:
mode:
authorNicola Mettifogo2008-07-22 10:12:20 +0000
committerNicola Mettifogo2008-07-22 10:12:20 +0000
commit446a0406de97dba9417df8f82c4363cd3542a64b (patch)
treebdf2fb926473e5905e79195e72c9299a4d9e0c05 /engines
parent85f56095bf4e3637a59cf1fd5a442fd08e6a9c47 (diff)
downloadscummvm-rg350-446a0406de97dba9417df8f82c4363cd3542a64b.tar.gz
scummvm-rg350-446a0406de97dba9417df8f82c4363cd3542a64b.tar.bz2
scummvm-rg350-446a0406de97dba9417df8f82c4363cd3542a64b.zip
Fixed regression in dialogue code: certain commands weren't executed anymore after dialogue ended.
svn-id: r33191
Diffstat (limited to 'engines')
-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).