aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorWillem Jan Palenstijn2013-10-03 23:48:14 +0200
committerWillem Jan Palenstijn2013-10-03 23:48:14 +0200
commita6bdec5ca5dd92c4613b0e684f838326ec89939b (patch)
tree4f6e5b825bc388218a6d28c0b288b1a71c8b6c19
parent2d8fa4fdad188470a11db19e188d0283ed057f42 (diff)
downloadscummvm-rg350-a6bdec5ca5dd92c4613b0e684f838326ec89939b.tar.gz
scummvm-rg350-a6bdec5ca5dd92c4613b0e684f838326ec89939b.tar.bz2
scummvm-rg350-a6bdec5ca5dd92c4613b0e684f838326ec89939b.zip
AVALANCHE: Don't refresh screen after every event in scroll mode
-rw-r--r--engines/avalanche/dialogs.cpp19
1 files changed, 11 insertions, 8 deletions
diff --git a/engines/avalanche/dialogs.cpp b/engines/avalanche/dialogs.cpp
index fd2e47b34d..0c90d12293 100644
--- a/engines/avalanche/dialogs.cpp
+++ b/engines/avalanche/dialogs.cpp
@@ -128,15 +128,18 @@ void Dialogs::scrollModeNormal() {
_vm->_graphics->showScroll();
Common::Event event;
- while (!_vm->shouldQuit()) {
+ bool escape = false;
+ while (!_vm->shouldQuit() && !escape) {
_vm->_graphics->refreshScreen();
-
- _vm->getEvent(event);
- if ((event.type == Common::EVENT_LBUTTONUP) ||
- ((event.type == Common::EVENT_KEYDOWN) && ((event.kbd.keycode == Common::KEYCODE_ESCAPE) ||
- (event.kbd.keycode == Common::KEYCODE_RETURN) || (event.kbd.keycode == Common::KEYCODE_HASH) ||
- (event.kbd.keycode == Common::KEYCODE_PLUS))))
- break;
+ while (_vm->getEvent(event)) {
+ if ((event.type == Common::EVENT_LBUTTONUP) ||
+ ((event.type == Common::EVENT_KEYDOWN) && ((event.kbd.keycode == Common::KEYCODE_ESCAPE) ||
+ (event.kbd.keycode == Common::KEYCODE_RETURN) || (event.kbd.keycode == Common::KEYCODE_HASH) ||
+ (event.kbd.keycode == Common::KEYCODE_PLUS)))) {
+ escape = true;
+ break;
+ }
+ }
}
_vm->_graphics->restoreScreen();