diff options
author | Petr Mrázek <peterix@gmail.com> | 2015-09-04 02:10:29 +0200 |
---|---|---|
committer | Petr Mrázek <peterix@gmail.com> | 2015-09-04 02:10:29 +0200 |
commit | cd108fd02975eac3a3fed2fde26c58de5cbdaf1c (patch) | |
tree | c19f22573086901238b7feacd9b265d249195700 /logic/settings/SettingsObject.cpp | |
parent | 151a0ca11ec658525e151b7130543a364c41a3e8 (diff) | |
download | MultiMC-cd108fd02975eac3a3fed2fde26c58de5cbdaf1c.tar MultiMC-cd108fd02975eac3a3fed2fde26c58de5cbdaf1c.tar.gz MultiMC-cd108fd02975eac3a3fed2fde26c58de5cbdaf1c.tar.lz MultiMC-cd108fd02975eac3a3fed2fde26c58de5cbdaf1c.tar.xz MultiMC-cd108fd02975eac3a3fed2fde26c58de5cbdaf1c.zip |
GH-1223 fix override settings
They now work more like passthrough settings, except not passing through set and reset
Diffstat (limited to 'logic/settings/SettingsObject.cpp')
-rw-r--r-- | logic/settings/SettingsObject.cpp | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/logic/settings/SettingsObject.cpp b/logic/settings/SettingsObject.cpp index 5e682cbf..f2ffdf9b 100644 --- a/logic/settings/SettingsObject.cpp +++ b/logic/settings/SettingsObject.cpp @@ -30,7 +30,8 @@ SettingsObject::~SettingsObject() m_settings.clear(); } -std::shared_ptr<Setting> SettingsObject::registerOverride(std::shared_ptr<Setting> original) +std::shared_ptr<Setting> SettingsObject::registerOverride(std::shared_ptr<Setting> original, + std::shared_ptr<Setting> gate) { if (contains(original->id())) { @@ -38,7 +39,7 @@ std::shared_ptr<Setting> SettingsObject::registerOverride(std::shared_ptr<Settin .arg(original->id()); return nullptr; // Fail } - auto override = std::make_shared<OverrideSetting>(original); + auto override = std::make_shared<OverrideSetting>(original, gate); override->m_storage = this; connectSignals(*override); m_settings.insert(override->id(), override); |