aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--engines/sci/graphics/portrait.cpp10
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)