diff options
Diffstat (limited to 'src/saveload/saveload.cpp')
-rw-r--r-- | src/saveload/saveload.cpp | 15 |
1 files changed, 11 insertions, 4 deletions
diff --git a/src/saveload/saveload.cpp b/src/saveload/saveload.cpp index 62c0ff9f5..bff6b05d7 100644 --- a/src/saveload/saveload.cpp +++ b/src/saveload/saveload.cpp @@ -2382,13 +2382,20 @@ static SaveOrLoadResult SaveFileToDisk(bool threaded) } catch (...) { ClearSaveLoadState(); - /* Skip the "colour" character */ - DEBUG(sl, 0, "%s", GetSaveLoadErrorString() + 3); + AsyncSaveFinishProc asfp = SaveFileDone; + + /* We don't want to shout when saving is just + * cancelled due to a client disconnecting. */ + if (_sl.error_str != STR_NETWORK_ERROR_LOSTCONNECTION) { + /* Skip the "colour" character */ + DEBUG(sl, 0, "%s", GetSaveLoadErrorString() + 3); + asfp = SaveFileError; + } if (threaded) { - SetAsyncSaveFinish(SaveFileError); + SetAsyncSaveFinish(asfp); } else { - SaveFileError(); + asfp(); } return SL_ERROR; } |