diff options
Diffstat (limited to 'engines/sci/graphics/portrait.cpp')
-rw-r--r-- | engines/sci/graphics/portrait.cpp | 10 |
1 files changed, 3 insertions, 7 deletions
diff --git a/engines/sci/graphics/portrait.cpp b/engines/sci/graphics/portrait.cpp index fc48ba981c..354c583012 100644 --- a/engines/sci/graphics/portrait.cpp +++ b/engines/sci/graphics/portrait.cpp @@ -172,8 +172,10 @@ void Portrait::doit(Common::Point position, uint16 resourceId, uint16 noun, uint do { _gui->wait(1); curEvent = _event->get(SCI_EVENT_ANY); + if (curEvent.type == SCI_EVENT_MOUSE_PRESS) + userAbort = true; curPosition = _audio->getAudioPosition(); - } while ((curPosition != -1) && (curPosition < timerPosition) && (curEvent.type == SCI_EVENT_NONE)); + } while ((curPosition != -1) && (curPosition < timerPosition) && (!userAbort)); if (syncCue != 0xFFFF) { // Display animation bitmap @@ -186,12 +188,6 @@ void Portrait::doit(Common::Point position, uint16 resourceId, uint16 noun, uint warning("kPortrait: sync information tried to draw non-existant %d", syncCue); } } - - switch (curEvent.type) { - case SCI_EVENT_MOUSE_RELEASE: - case SCI_EVENT_MOUSE_PRESS: - userAbort = true; - } } if (userAbort) |