diff options
Diffstat (limited to 'sigscript/Config.cpp')
-rw-r--r-- | sigscript/Config.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/sigscript/Config.cpp b/sigscript/Config.cpp index 00dcc21e..25efc677 100644 --- a/sigscript/Config.cpp +++ b/sigscript/Config.cpp @@ -99,7 +99,7 @@ QStringList Config::values(const bool recursive) const bool Config::setOptions(const QString& name, const ConfigOptions newOptions) { - if ((~options(name) & newOptions) || addValue(name, QVariant())) + if ((~options(name) & newOptions) || (overrides(name) & newOptions) || addValue(name, QVariant())) { m_values.setOptions(name, newOptions); emit(optionsChanged(name, options(name))); @@ -110,7 +110,7 @@ bool Config::setOptions(const QString& name, const ConfigOptions newOptions) bool Config::unsetOptions(const QString& name, const ConfigOptions oldOptions) { - if (options(name) & oldOptions) + if ((options(name) & oldOptions) || (overrides(name) & oldOptions)) { m_values.unsetOptions(name, oldOptions); emit(optionsChanged(name, options(name))); @@ -133,6 +133,7 @@ bool Config::setOverrides(const QString& name, const ConfigOptions newOverrides) { if ((~overrides(name) & newOverrides) || addValue(name, QVariant())) { + m_values.setOptions(name, options(name) & newOverrides); m_values.setOverrides(name, newOverrides); emit(overridesChanged(name, overrides(name))); return true; |