summaryrefslogtreecommitdiffstats
path: root/sigscript/Config.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'sigscript/Config.cpp')
-rw-r--r--sigscript/Config.cpp14
1 files changed, 3 insertions, 11 deletions
diff --git a/sigscript/Config.cpp b/sigscript/Config.cpp
index d7f38fd2..6979a49f 100644
--- a/sigscript/Config.cpp
+++ b/sigscript/Config.cpp
@@ -65,16 +65,8 @@ QVariant Config::value(const QString& name, const bool recursive) const
return QVariant();
return m_values[name].first;
}
- if (recursive)
- {
- Config* par = m_parent;
- while (par)
- {
- if (par->hasValue(name))
- return par->value(name);
- par = par->m_parent;
- }
- }
+ if (recursive && m_parent)
+ return m_parent->value(name, true);
return QVariant();
}
@@ -83,7 +75,7 @@ bool Config::hasValue(const QString& name, const bool recursive) const
QReadLocker locker(&m_lock);
if (m_values.contains(name))
return !(m_values[name].second & (Deleted | Hidden));
- if (recursive)
+ if (recursive && m_parent)
return m_parent->hasValue(name, true);
return false;
}