diff options
| author | jacob1 <jfu614@gmail.com> | 2013-07-15 18:59:15 (GMT) |
|---|---|---|
| committer | jacob1 <jfu614@gmail.com> | 2013-07-15 18:59:15 (GMT) |
| commit | f4432b47599a2b93276658f887b97ccd2eb35875 (patch) | |
| tree | 5d52718632550de888b921ca6523fc96b29bd270 /src/gui | |
| parent | c2a9b5c6f67a545764392edb6f06f2675d512bee (diff) | |
| download | powder-f4432b47599a2b93276658f887b97ccd2eb35875.zip powder-f4432b47599a2b93276658f887b97ccd2eb35875.tar.gz | |
give an error when a local save isn't saved properly, instead of exiting and pretending it worked
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() |
