summaryrefslogtreecommitdiffstats
path: root/logic/settings/SettingsObject.cpp
diff options
context:
space:
mode:
authorPetr Mrázek <peterix@gmail.com>2015-09-04 02:10:29 +0200
committerPetr Mrázek <peterix@gmail.com>2015-09-04 02:10:29 +0200
commitcd108fd02975eac3a3fed2fde26c58de5cbdaf1c (patch)
treec19f22573086901238b7feacd9b265d249195700 /logic/settings/SettingsObject.cpp
parent151a0ca11ec658525e151b7130543a364c41a3e8 (diff)
downloadMultiMC-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.cpp5
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);