diff options
-rw-r--r-- | gui/saveload-dialog.cpp | 14 | ||||
-rw-r--r-- | gui/saveload-dialog.h | 2 |
2 files changed, 13 insertions, 3 deletions
diff --git a/gui/saveload-dialog.cpp b/gui/saveload-dialog.cpp index e5e71a73b8..bdae9efea4 100644 --- a/gui/saveload-dialog.cpp +++ b/gui/saveload-dialog.cpp @@ -46,7 +46,7 @@ enum { kBackgroundSyncCmd = 'PDBS' }; -SaveLoadCloudSyncProgressDialog::SaveLoadCloudSyncProgressDialog(): Dialog(10, 10, 320, 100) { +SaveLoadCloudSyncProgressDialog::SaveLoadCloudSyncProgressDialog(): Dialog(10, 10, 320, 100), _close(false) { int x = 10; int buttonHeight = 24; int buttonWidth = 140; @@ -77,14 +77,22 @@ void SaveLoadCloudSyncProgressDialog::handleCommand(CommandSender *sender, uint3 case kSavesSyncEndedCmd: case kBackgroundSyncCmd: - setResult(kBackgroundSyncCmd); - close(); + _close = true; break; } Dialog::handleCommand(sender, cmd, data); } +void SaveLoadCloudSyncProgressDialog::handleTickle() { + if (_close) { + setResult(kBackgroundSyncCmd); + close(); + } + + Dialog::handleTickle(); +} + #ifndef DISABLE_SAVELOADCHOOSER_GRID SaveLoadChooserType getRequestedSaveLoadDialog(const MetaEngine &metaEngine) { const Common::String &userConfig = ConfMan.get("gui_saveload_chooser", Common::ConfigManager::kApplicationDomain); diff --git a/gui/saveload-dialog.h b/gui/saveload-dialog.h index ffb8f34458..e8f0c37228 100644 --- a/gui/saveload-dialog.h +++ b/gui/saveload-dialog.h @@ -32,11 +32,13 @@ namespace GUI { class SaveLoadCloudSyncProgressDialog : public Dialog { //protected? StaticTextWidget *_label; + bool _close; public: SaveLoadCloudSyncProgressDialog(); virtual ~SaveLoadCloudSyncProgressDialog(); virtual void handleCommand(CommandSender *sender, uint32 cmd, uint32 data); + virtual void handleTickle(); }; #define kSwitchSaveLoadDialog -2 |