diff options
author | Willem Jan Palenstijn | 2013-10-03 23:48:14 +0200 |
---|---|---|
committer | Willem Jan Palenstijn | 2013-10-03 23:48:14 +0200 |
commit | a6bdec5ca5dd92c4613b0e684f838326ec89939b (patch) | |
tree | 4f6e5b825bc388218a6d28c0b288b1a71c8b6c19 | |
parent | 2d8fa4fdad188470a11db19e188d0283ed057f42 (diff) | |
download | scummvm-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.cpp | 19 |
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(); |