diff options
Diffstat (limited to 'src/gui/save/LocalSaveActivity.cpp')
| -rw-r--r-- | src/gui/save/LocalSaveActivity.cpp | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/src/gui/save/LocalSaveActivity.cpp b/src/gui/save/LocalSaveActivity.cpp index 084f2f2..05fe7dd 100644 --- a/src/gui/save/LocalSaveActivity.cpp +++ b/src/gui/save/LocalSaveActivity.cpp @@ -81,7 +81,6 @@ void LocalSaveActivity::Save() if (result == ConfirmPrompt::ResultOkay) { a->saveWrite(filename); - a->Exit(); } } virtual ~FileOverwriteConfirmation() { } @@ -99,7 +98,6 @@ void LocalSaveActivity::Save() else { saveWrite(finalFilename); - Exit(); } } else @@ -111,8 +109,13 @@ void LocalSaveActivity::Save() void LocalSaveActivity::saveWrite(std::string finalFilename) { Client::Ref().MakeDirectory(LOCAL_SAVE_DIR); - Client::Ref().WriteFile(save.GetGameSave()->Serialise(), finalFilename); - callback->FileSaved(&save); + if (Client::Ref().WriteFile(save.GetGameSave()->Serialise(), finalFilename)) + new ErrorMessage("Error", "Unable to write save file."); + else + { + callback->FileSaved(&save); + Exit(); + } } void LocalSaveActivity::OnDraw() |
