diff options
Diffstat (limited to 'common/config-manager.cpp')
-rw-r--r-- | common/config-manager.cpp | 10 |
1 files changed, 9 insertions, 1 deletions
diff --git a/common/config-manager.cpp b/common/config-manager.cpp index feb3ddcf56..24c877a4e9 100644 --- a/common/config-manager.cpp +++ b/common/config-manager.cpp @@ -597,7 +597,7 @@ void ConfigManager::setActiveDomain(const String &domName) { _activeDomain = 0; } else { assert(isValidDomainName(domName)); - _activeDomain = & _gameDomains[domName]; + _activeDomain = &_gameDomains[domName]; } _activeDomainName = domName; } @@ -626,6 +626,10 @@ void ConfigManager::addMiscDomain(const String &domName) { void ConfigManager::removeGameDomain(const String &domName) { assert(!domName.empty()); assert(isValidDomainName(domName)); + if (domName == _activeDomainName) { + _activeDomainName.clear(); + _activeDomain = 0; + } _gameDomains.erase(domName); } @@ -638,6 +642,10 @@ void ConfigManager::removeMiscDomain(const String &domName) { void ConfigManager::renameGameDomain(const String &oldName, const String &newName) { renameDomain(oldName, newName, _gameDomains); + if (_activeDomainName == oldName) { + _activeDomainName = newName; + _activeDomain = &_gameDomains[newName]; + } } void ConfigManager::renameMiscDomain(const String &oldName, const String &newName) { |