From 5eb9b10bbd16c7bddd66dd5dd6c82e61e1122d4e Mon Sep 17 00:00:00 2001 From: Paul Gilbert Date: Tue, 20 Nov 2007 12:26:06 +0000 Subject: Changed calls to pollEvent to be in while loops to ensure all pending events get processed svn-id: r29576 --- engines/lure/events.cpp | 4 ++-- engines/lure/game.cpp | 2 +- engines/lure/menu.cpp | 2 ++ engines/lure/surface.cpp | 6 +++--- 4 files changed, 8 insertions(+), 6 deletions(-) (limited to 'engines/lure') diff --git a/engines/lure/events.cpp b/engines/lure/events.cpp index c93ae257e9..6010eeb9d1 100644 --- a/engines/lure/events.cpp +++ b/engines/lure/events.cpp @@ -132,7 +132,7 @@ void Mouse::waitForRelease() { Events &e = Events::getReference(); do { - e.pollEvent(); + while (e.pollEvent() && !e.quitFlag) ; g_system->delayMillis(20); } while (!e.quitFlag && (lButton() || rButton())); } @@ -180,7 +180,7 @@ bool Events::pollEvent() { void Events::waitForPress() { bool keyButton = false; while (!keyButton) { - if (pollEvent()) { + while (pollEvent()) { if (_event.type == Common::EVENT_QUIT) return; else if (_event.type == Common::EVENT_KEYDOWN) keyButton = true; else if ((_event.type == Common::EVENT_LBUTTONDOWN) || diff --git a/engines/lure/game.cpp b/engines/lure/game.cpp index 5a3a65f7ad..041d4cc6dc 100644 --- a/engines/lure/game.cpp +++ b/engines/lure/game.cpp @@ -964,7 +964,7 @@ bool Game::getYN() { bool result = false; do { - if (events.pollEvent()) { + while (events.pollEvent()) { if (events.event().type == Common::EVENT_KEYDOWN) { Common::KeyCode key = events.event().kbd.keycode; if ((key == y) || (key == Common::KEYCODE_n) || diff --git a/engines/lure/menu.cpp b/engines/lure/menu.cpp index 77705d22d4..5280e31dcb 100644 --- a/engines/lure/menu.cpp +++ b/engines/lure/menu.cpp @@ -66,6 +66,8 @@ const MenuRecordLanguage menuList[] = { // {EN_ANY, {{40, 87, 20, 80}, {127, 179, 100, 120}, {224, 281, 210, 105}}}, {EN_ANY, {{40, 87, 3, 7}, {127, 179, 13, 12}, {224, 281, 27, 10}}}, {IT_ITA, {{40, 98, 4, 6}, {120, 195, 14, 11}, {208, 281, 24, 13}}}, + {FR_FRA, {{40, 90, 3, 7}, {120, 195, 13, 11}, {232, 273, 23, 13}}}, + {DE_DEU, {{40, 90, 4, 7}, {120, 195, 13, 12}, {232, 273, 21, 15}}}, {UNK_LANG, {{0, 0, 0, 0}, {0, 0, 0, 0}, {0, 0, 0, 0}}} }; diff --git a/engines/lure/surface.cpp b/engines/lure/surface.cpp index d2cecdae61..7910a6616d 100644 --- a/engines/lure/surface.cpp +++ b/engines/lure/surface.cpp @@ -425,7 +425,7 @@ bool Surface::getString(Common::String &line, int maxSize, bool isNumeric, bool abortFlag = events.quitFlag; if (abortFlag) break; - if (events.pollEvent()) { + while (events.pollEvent()) { if (events.type() == Common::EVENT_KEYDOWN) { char ch = events.event().kbd.ascii; uint16 keycode = events.event().kbd.keycode; @@ -729,7 +729,7 @@ bool SaveRestoreDialog::show(bool saveDialog) { abortFlag = events.quitFlag; if (abortFlag) break; - if (events.pollEvent()) { + while (events.pollEvent()) { if ((events.type() == Common::EVENT_KEYDOWN) && (events.event().kbd.keycode == Common::KEYCODE_ESCAPE)) { abortFlag = true; @@ -1052,7 +1052,7 @@ bool CopyProtectionDialog::show() { _charIndex = 0; while (!events.quitFlag) { - if (events.pollEvent()) { + while (events.pollEvent()) { if (events.type() == Common::EVENT_KEYDOWN) { if ((events.event().kbd.keycode == Common::KEYCODE_BACKSPACE) && (_charIndex > 0)) { // Remove the last number typed -- cgit v1.2.3