aboutsummaryrefslogtreecommitdiff
path: root/src/settings.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/settings.cpp')
-rw-r--r--src/settings.cpp17
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);