diff options
Diffstat (limited to 'src/settings.cpp')
-rw-r--r-- | src/settings.cpp | 17 |
1 files changed, 11 insertions, 6 deletions
diff --git a/src/settings.cpp b/src/settings.cpp index f4de5bec9..0e44ee0bc 100644 --- a/src/settings.cpp +++ b/src/settings.cpp @@ -88,7 +88,7 @@ void SettingsHierarchy::onLayerCreated(int layer, Settings *obj) void SettingsHierarchy::onLayerRemoved(int layer) { - assert(layer >= 0 && layer < layers.size()); + assert(layer >= 0 && layer < (int)layers.size()); layers[layer] = nullptr; if (this == &g_hierarchy && layer == (int)SL_GLOBAL) g_settings = nullptr; @@ -104,8 +104,7 @@ Settings *Settings::createLayer(SettingsLayer sl, const std::string &end_tag) Settings *Settings::getLayer(SettingsLayer sl) { - sanity_check((int)sl >= 0 && sl < SL_TOTAL_COUNT); - return g_hierarchy.layers[(int)sl]; + return g_hierarchy.getLayer(sl); } @@ -660,9 +659,7 @@ bool Settings::getNoiseParamsFromGroup(const std::string &name, bool Settings::exists(const std::string &name) const { - MutexAutoLock lock(m_mutex); - - if (m_settings.find(name) != m_settings.end()) + if (existsLocal(name)) return true; if (auto parent = getParent()) return parent->exists(name); @@ -670,6 +667,14 @@ bool Settings::exists(const std::string &name) const } +bool Settings::existsLocal(const std::string &name) const +{ + MutexAutoLock lock(m_mutex); + + return m_settings.find(name) != m_settings.end(); +} + + std::vector<std::string> Settings::getNames() const { MutexAutoLock lock(m_mutex); |