diff options
Diffstat (limited to 'src')
-rw-r--r-- | src/client.cpp | 1 | ||||
-rw-r--r-- | src/configuration.cpp | 3 | ||||
-rw-r--r-- | src/gui/windows/quitdialog.cpp | 1 |
3 files changed, 5 insertions, 0 deletions
diff --git a/src/client.cpp b/src/client.cpp index f86365cc9..27c55dcee 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -1705,6 +1705,7 @@ int Client::gameExec() Net::getGameHandler()->disconnect(); Net::getGameHandler()->clear(); mServerName.clear(); + serverConfig.write(); serverConfig.unload(); mState = STATE_CHOOSE_SERVER; diff --git a/src/configuration.cpp b/src/configuration.cpp index da6e97501..cb7adf8f1 100644 --- a/src/configuration.cpp +++ b/src/configuration.cpp @@ -801,6 +801,9 @@ void ConfigurationObject::writeToXML(const XmlTextWriterPtr writer) void Configuration::write() { + if (mConfigPath.empty()) + return; + // Do not attempt to write to file that cannot be opened for writing FILE *const testFile = fopen(mConfigPath.c_str(), "w"); if (!testFile) diff --git a/src/gui/windows/quitdialog.cpp b/src/gui/windows/quitdialog.cpp index 215987ffb..ff9f669b7 100644 --- a/src/gui/windows/quitdialog.cpp +++ b/src/gui/windows/quitdialog.cpp @@ -195,6 +195,7 @@ void QuitDialog::action(const gcn::ActionEvent &event) { Net::getCharServerHandler()->switchCharacter(); Game::closeDialogs(); + serverConfig.write(); } } } |