diff options
author | Andrei Karas <akaras@inbox.ru> | 2014-01-03 20:33:54 +0300 |
---|---|---|
committer | Andrei Karas <akaras@inbox.ru> | 2014-01-03 20:33:54 +0300 |
commit | 576d56c7b5636cf95ac8eb1650949da6a26a1bd7 (patch) | |
tree | eb7b037cece1d1e6b9cddb206ac75c780a644129 /src | |
parent | 9b1fed5643a2447495cf4b43309a23ada7901c03 (diff) | |
download | manaplus-576d56c7b5636cf95ac8eb1650949da6a26a1bd7.tar.gz manaplus-576d56c7b5636cf95ac8eb1650949da6a26a1bd7.tar.bz2 manaplus-576d56c7b5636cf95ac8eb1650949da6a26a1bd7.tar.xz manaplus-576d56c7b5636cf95ac8eb1650949da6a26a1bd7.zip |
fix server config saving if select switch character or switch server.
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(); } } } |