aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorThierry Crozat2018-01-10 23:02:26 +0000
committerThierry Crozat2018-01-23 02:15:47 +0000
commit2a8cf41b33b6411fd4c4c9067d111eabec925206 (patch)
treecc92441502daeadfb8a2d238db05e960447ced32
parentd12b1824504cec662ea5f1481881307657a9669b (diff)
downloadscummvm-rg350-2a8cf41b33b6411fd4c4c9067d111eabec925206.tar.gz
scummvm-rg350-2a8cf41b33b6411fd4c4c9067d111eabec925206.tar.bz2
scummvm-rg350-2a8cf41b33b6411fd4c4c9067d111eabec925206.zip
SUPERNOVA: Handle RTL and Quit while editing text
-rw-r--r--engines/supernova/state.cpp5
1 files changed, 4 insertions, 1 deletions
diff --git a/engines/supernova/state.cpp b/engines/supernova/state.cpp
index a0776b3382..f7bf70f15d 100644
--- a/engines/supernova/state.cpp
+++ b/engines/supernova/state.cpp
@@ -1524,7 +1524,7 @@ void GameManager::drawInventory() {
}
uint16 GameManager::getKeyInput(bool blockForPrintChar) {
- while (true) {
+ while (!_vm->shouldQuit()) {
_vm->updateEvents();
if (_keyPressed) {
if (blockForPrintChar) {
@@ -1550,6 +1550,7 @@ uint16 GameManager::getKeyInput(bool blockForPrintChar) {
g_system->updateScreen();
g_system->delayMillis(_vm->_delay);
}
+ return 0;
}
Common::EventType GameManager::getMouseInput() {
@@ -1758,6 +1759,8 @@ void GameManager::edit(Common::String &input, int x, int y, uint length) {
}
getKeyInput(true);
+ if (_vm->shouldQuit())
+ break;
switch (_key.keycode) {
case Common::KEYCODE_RETURN:
case Common::KEYCODE_ESCAPE: