summaryrefslogtreecommitdiff
path: root/src/gui/save/LocalSaveActivity.cpp
diff options
context:
space:
mode:
authorjacob1 <jfu614@gmail.com>2013-07-15 18:59:15 (GMT)
committer jacob1 <jfu614@gmail.com>2013-07-15 18:59:15 (GMT)
commitf4432b47599a2b93276658f887b97ccd2eb35875 (patch)
tree5d52718632550de888b921ca6523fc96b29bd270 /src/gui/save/LocalSaveActivity.cpp
parentc2a9b5c6f67a545764392edb6f06f2675d512bee (diff)
downloadpowder-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/save/LocalSaveActivity.cpp')
-rw-r--r--src/gui/save/LocalSaveActivity.cpp11
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()