diff options
-rw-r--r-- | src/client.cpp | 1 | ||||
-rw-r--r-- | src/configuration.cpp | 10 | ||||
-rw-r--r-- | src/configuration.h | 2 |
3 files changed, 13 insertions, 0 deletions
diff --git a/src/client.cpp b/src/client.cpp index ceff605ff..4fcfaa081 100644 --- a/src/client.cpp +++ b/src/client.cpp @@ -1707,6 +1707,7 @@ int Client::gameExec() Net::getGameHandler()->disconnect(); Net::getGameHandler()->clear(); mServerName.clear(); + serverConfig.unload(); mState = STATE_CHOOSE_SERVER; BLOCK_END("Client::gameExec STATE_SWITCH_SERVER") diff --git a/src/configuration.cpp b/src/configuration.cpp index ca2281a71..66615d12d 100644 --- a/src/configuration.cpp +++ b/src/configuration.cpp @@ -367,6 +367,16 @@ Configuration::~Configuration() cleanDefaults(); } +void Configuration::unload() +{ + cleanDefaults(); + mConfigPath.clear(); + mDirectory.clear(); + mFilename.clear(); + mUseResManager = false; + ConfigurationObject::clear(); +} + void Configuration::setDefaultValues(DefaultsData *const defaultsData) { cleanDefaults(); diff --git a/src/configuration.h b/src/configuration.h index f2215147b..d14171dbb 100644 --- a/src/configuration.h +++ b/src/configuration.h @@ -251,6 +251,8 @@ class Configuration final : public ConfigurationObject void reInit(); + void unload(); + /** * Set the default values for each keys. * |