aboutsummaryrefslogtreecommitdiff
path: root/engines/xeen/locations.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'engines/xeen/locations.cpp')
-rw-r--r--engines/xeen/locations.cpp21
1 files changed, 9 insertions, 12 deletions
diff --git a/engines/xeen/locations.cpp b/engines/xeen/locations.cpp
index 0e6dddd231..552b1c899d 100644
--- a/engines/xeen/locations.cpp
+++ b/engines/xeen/locations.cpp
@@ -2354,21 +2354,18 @@ bool LocationMessage::execute(int portrait, const Common::String &name, const Co
do {
events.clearEvents();
- events.updateGameCounter();
- if (msgEnd)
- clearButtons();
+ clearEvents();
do {
- events.pollEventsAndWait();
- checkEvents(_vm);
-
- if (_vm->shouldExit())
- return false;
-
- while (events.timeElapsed() >= 3) {
- drawAnim(false);
- events.updateGameCounter();
+ events.updateGameCounter();
+ while (!_buttonValue && events.timeElapsed() < 3) {
+ events.pollEventsAndWait();
+ checkEvents(_vm);
+ if (g_vm->shouldExit())
+ return false;
}
+
+ drawAnim(false);
} while (!_buttonValue);
if (msgEnd)