aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--gui/saveload-dialog.cpp14
-rw-r--r--gui/saveload-dialog.h2
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