summaryrefslogtreecommitdiffstats
path: root/sigscript
diff options
context:
space:
mode:
authorBen Boeckel <MathStuf@gmail.com>2009-03-16 20:31:19 -0400
committerBen Boeckel <MathStuf@gmail.com>2009-03-17 17:34:13 -0400
commit3d7155a10a4bf9e6ba2f2b9a992c3e0aff44c3d0 (patch)
treebc44b055c73034062cfae2123fa668a178d2eb6a /sigscript
parent0d1f8ca45a1ae5d3d52db5d0317ee4aeb927f59e (diff)
downloadsigen-3d7155a10a4bf9e6ba2f2b9a992c3e0aff44c3d0.tar.gz
sigen-3d7155a10a4bf9e6ba2f2b9a992c3e0aff44c3d0.tar.xz
sigen-3d7155a10a4bf9e6ba2f2b9a992c3e0aff44c3d0.zip
Fix parent checking when querying
Diffstat (limited to 'sigscript')
-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;
}