From 7ba345be57c4e8f98d4cad2dcc64a088d60ed9ff Mon Sep 17 00:00:00 2001 From: eriktorbjorn Date: Sun, 15 May 2011 22:49:19 +0200 Subject: TSAGE: Fix some errors in endGame(). Save slot 0 is valid. It's -1 that indicates cancelling. Also, we need to check if the user tried to quit, to avoid a nasty loop of hard-to-terminate restore dialogs. --- engines/tsage/ringworld_logic.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) (limited to 'engines') diff --git a/engines/tsage/ringworld_logic.cpp b/engines/tsage/ringworld_logic.cpp index 82331ba0e6..a03c4081da 100644 --- a/engines/tsage/ringworld_logic.cpp +++ b/engines/tsage/ringworld_logic.cpp @@ -1409,11 +1409,11 @@ void RingworldGame::endGame(int resNum, int lineNum) { // Savegames exist, so prompt for Restore/Restart bool breakFlag; do { - if (MessageDialog::show(msg, RESTART_BTN_STRING, RESTORE_BTN_STRING) == 0) { + if (MessageDialog::show(msg, RESTART_BTN_STRING, RESTORE_BTN_STRING) == 0 || _vm->shouldQuit()) { breakFlag = true; } else { handleSaveLoad(false, _globals->_sceneHandler._loadGameSlot, _globals->_sceneHandler._saveName); - breakFlag = _globals->_sceneHandler._loadGameSlot > 0; + breakFlag = _globals->_sceneHandler._loadGameSlot >= 0; } } while (!breakFlag); } -- cgit v1.2.3