Just use g_configs.unload(config) to unload config files.

Avoids concurrent modification errors.
This commit is contained in:
BenDol
2014-04-06 15:29:02 +12:00
parent a02c091376
commit 1baad726ae
5 changed files with 6 additions and 4 deletions

View File

@@ -55,7 +55,6 @@ bool Config::unload()
if(isLoaded()) {
m_confsDoc = nullptr;
m_fileName = "";
g_configs.remove(this);
return true;
}
return false;

View File

@@ -117,6 +117,7 @@ bool ConfigManager::unload(const std::string& file)
ConfigPtr config = get(file);
if(config) {
config->unload();
remove(config);
config = nullptr;
return true;
}

View File

@@ -197,7 +197,6 @@ void Application::registerLuaFunctions()
// Config
g_lua.registerClass<Config>();
g_lua.bindClassMemberFunction<Config>("save", &Config::save);
g_lua.bindClassMemberFunction<Config>("unload", &Config::unload);
g_lua.bindClassMemberFunction<Config>("setValue", &Config::setValue);
g_lua.bindClassMemberFunction<Config>("setList", &Config::setList);
g_lua.bindClassMemberFunction<Config>("getValue", &Config::getValue);