diff options
Diffstat (limited to 'src/gui')
| -rw-r--r-- | src/gui/game/GameController.cpp | 3 | ||||
| -rw-r--r-- | src/gui/save/LocalSaveActivity.cpp | 11 |
2 files changed, 9 insertions, 5 deletions
diff --git a/src/gui/game/GameController.cpp b/src/gui/game/GameController.cpp index 6a6702d..241bc9e 100644 --- a/src/gui/game/GameController.cpp +++ b/src/gui/game/GameController.cpp @@ -1059,7 +1059,8 @@ void GameController::OpenLocalSaveWindow(bool asCurrent) else if (gameModel->GetSaveFile()) { Client::Ref().MakeDirectory(LOCAL_SAVE_DIR); - Client::Ref().WriteFile(gameSave->Serialise(), gameModel->GetSaveFile()->GetName()); + if (Client::Ref().WriteFile(gameSave->Serialise(), gameModel->GetSaveFile()->GetName())) + new ErrorMessage("Error", "Unable to write save file."); } } } 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() |
