diff --git a/domain-server/src/DomainServerSettingsManager.cpp b/domain-server/src/DomainServerSettingsManager.cpp index 9190e4f99f..e10007784f 100644 --- a/domain-server/src/DomainServerSettingsManager.cpp +++ b/domain-server/src/DomainServerSettingsManager.cpp @@ -482,6 +482,9 @@ void DomainServerSettingsManager::recurseJSONObjectAndOverwriteSettings(const QJ settingsVariant.remove(rootKey); } } + + // re-merge the user and master configs after a settings change + _configMap.mergeMasterAndUserConfigs(); } void DomainServerSettingsManager::persistToFile() { diff --git a/libraries/shared/src/HifiConfigVariantMap.cpp b/libraries/shared/src/HifiConfigVariantMap.cpp index 95c8519314..5d21473fd8 100644 --- a/libraries/shared/src/HifiConfigVariantMap.cpp +++ b/libraries/shared/src/HifiConfigVariantMap.cpp @@ -157,6 +157,10 @@ void HifiConfigVariantMap::loadMasterAndUserConfig(const QStringList& argumentLi loadMapFromJSONFile(_userConfig, _userConfigFilename); + mergeMasterAndUserConfigs(); +} + +void HifiConfigVariantMap::mergeMasterAndUserConfigs() { // the merged config is initially matched to the master config _mergedConfig = _masterConfig; diff --git a/libraries/shared/src/HifiConfigVariantMap.h b/libraries/shared/src/HifiConfigVariantMap.h index bf1e84dffc..e92561cff5 100644 --- a/libraries/shared/src/HifiConfigVariantMap.h +++ b/libraries/shared/src/HifiConfigVariantMap.h @@ -26,6 +26,8 @@ public: QVariantMap& getUserConfig() { return _userConfig; } QVariantMap& getMergedConfig() { return _mergedConfig; } + void mergeMasterAndUserConfigs(); + const QString& getUserConfigFilename() const { return _userConfigFilename; } private: QString _userConfigFilename;