diff options
Diffstat (limited to 'engines/queen/talk.cpp')
-rw-r--r-- | engines/queen/talk.cpp | 12 |
1 files changed, 6 insertions, 6 deletions
diff --git a/engines/queen/talk.cpp b/engines/queen/talk.cpp index 1b9d72babc..e86a53d448 100644 --- a/engines/queen/talk.cpp +++ b/engines/queen/talk.cpp @@ -189,7 +189,7 @@ void Talk::talk(const char *filename, int personInRoom, char *cutawayFilename) { } } - if (_vm->input()->talkQuit()) + if (_vm->input()->talkQuit() || _vm->shouldQuit()) break; retval = _dialogueTree[level][selectedSentence].dialogueNodeValue1; @@ -1250,15 +1250,12 @@ int16 Talk::selectSentence() { } _vm->input()->clearKeyVerb(); + _vm->input()->clearMouseButton(); if (sentenceCount > 0) { int oldZone = 0; - while (0 == selectedSentence) { - - if (_vm->input()->talkQuit()) - break; - + while (0 == selectedSentence && !_vm->input()->talkQuit() && !_vm->shouldQuit()) { _vm->update(); Common::Point mouse = _vm->input()->getMousePos(); @@ -1328,6 +1325,9 @@ int16 Talk::selectSentence() { } } + _vm->input()->clearKeyVerb(); + _vm->input()->clearMouseButton(); + debug(6, "Selected sentence %i", selectedSentence); arrowBobUp->active = false; |