diff options
-rw-r--r-- | base/main.cpp | 4 | ||||
-rw-r--r-- | common/config-manager.cpp | 9 | ||||
-rw-r--r-- | common/config-manager.h | 3 |
3 files changed, 12 insertions, 4 deletions
diff --git a/base/main.cpp b/base/main.cpp index 0dfa193fff..afb70ad923 100644 --- a/base/main.cpp +++ b/base/main.cpp @@ -345,7 +345,9 @@ extern "C" int scummvm_main(GameDetector &detector, int argc, char *argv[]) { } } if (cfgFilename != NULL) - ConfMan.switchFile(cfgFilename); + ConfMan.loadConfigFile(cfgFilename); + else + ConfMan.loadDefaultConfigFile(); // Update the config file ConfMan.set("versioninfo", gScummVMVersion, Common::ConfigManager::kApplicationDomain); diff --git a/common/config-manager.cpp b/common/config-manager.cpp index 33bb1cdfef..5bf26fbe50 100644 --- a/common/config-manager.cpp +++ b/common/config-manager.cpp @@ -62,7 +62,12 @@ const String falseStr("false"); ConfigManager::ConfigManager() { + // Ensure the global domain(s) are setup. + _globalDomains.addKey(kApplicationDomain); +} + +void ConfigManager::loadDefaultConfigFile() { char configFile[MAXPATHLEN]; #if defined(UNIX) if(getenv("HOME") != NULL) @@ -80,10 +85,10 @@ ConfigManager::ConfigManager() { #endif #endif - switchFile(configFile); + loadConfigFile(configFile); } -void ConfigManager::switchFile(const String &filename) { +void ConfigManager::loadConfigFile(const String &filename) { _globalDomains.clear(); _gameDomains.clear(); _transientDomain.clear(); diff --git a/common/config-manager.h b/common/config-manager.h index 5b6c27d531..8f946e26b6 100644 --- a/common/config-manager.h +++ b/common/config-manager.h @@ -74,7 +74,8 @@ public: /** The transient (pseudo) domain. */ static const String kTransientDomain; - void switchFile(const String &filename); + void loadDefaultConfigFile(); + void loadConfigFile(const String &filename); bool hasKey(const String &key) const; bool hasKey(const String &key, const String &dom) const; |