aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMax Horn2010-08-23 10:00:40 +0000
committerMax Horn2010-08-23 10:00:40 +0000
commitdb7e69b258f422228220cbb04110b63173ab52a3 (patch)
tree53e9cdc7e5d689eb8ca157b48c7a65b0056475b4
parent7a125f85fef404b9e3af2db5ddd26eff96c25a00 (diff)
downloadscummvm-rg350-db7e69b258f422228220cbb04110b63173ab52a3.tar.gz
scummvm-rg350-db7e69b258f422228220cbb04110b63173ab52a3.tar.bz2
scummvm-rg350-db7e69b258f422228220cbb04110b63173ab52a3.zip
CONFIG: Always sort 'scummvm' and keymapper domains first
svn-id: r52296
-rw-r--r--common/config-manager.cpp25
1 files changed, 10 insertions, 15 deletions
diff --git a/common/config-manager.cpp b/common/config-manager.cpp
index abc5bfb52d..554a99ea95 100644
--- a/common/config-manager.cpp
+++ b/common/config-manager.cpp
@@ -219,32 +219,27 @@ void ConfigManager::flushToDisk() {
stream = dump;
}
+ // Write the application domain
+ writeDomain(*stream, kApplicationDomain, _appDomain);
+
+#ifdef ENABLE_KEYMAPPER
+ // Write the keymapper domain
+ writeDomain(*stream, kKeymapperDomain, _keymapperDomain);
+#endif
+
// First write the domains in _domainSaveOrder, in that order.
// Note: It's possible for _domainSaveOrder to list domains which
- // are not present anymore.
+ // are not present anymore, so we validate each name.
Array<String>::const_iterator i;
for (i = _domainSaveOrder.begin(); i != _domainSaveOrder.end(); ++i) {
- if (kApplicationDomain == *i) {
- writeDomain(*stream, *i, _appDomain);
-#ifdef ENABLE_KEYMAPPER
- } else if (kKeymapperDomain == *i) {
- writeDomain(*stream, *i, _keymapperDomain);
-#endif
- } else if (_gameDomains.contains(*i)) {
+ if (_gameDomains.contains(*i)) {
writeDomain(*stream, *i, _gameDomains[*i]);
}
}
DomainMap::const_iterator d;
-
// Now write the domains which haven't been written yet
- if (find(_domainSaveOrder.begin(), _domainSaveOrder.end(), kApplicationDomain) == _domainSaveOrder.end())
- writeDomain(*stream, kApplicationDomain, _appDomain);
-#ifdef ENABLE_KEYMAPPER
- if (find(_domainSaveOrder.begin(), _domainSaveOrder.end(), kKeymapperDomain) == _domainSaveOrder.end())
- writeDomain(*stream, kKeymapperDomain, _keymapperDomain);
-#endif
for (d = _gameDomains.begin(); d != _gameDomains.end(); ++d) {
if (find(_domainSaveOrder.begin(), _domainSaveOrder.end(), d->_key) == _domainSaveOrder.end())
writeDomain(*stream, d->_key, d->_value);