diff options
author | kh1 <karsten.heimrich@digia.com> | 2014-10-28 13:56:56 +0100 |
---|---|---|
committer | Karsten Heimrich <karsten.heimrich@digia.com> | 2014-10-30 15:30:41 +0100 |
commit | 37785d75c9fb44f4a78053b198b6065f6150d9ae (patch) | |
tree | f67a82cbcddd7767f91b1c4e31f71ad227bbe87b /src/libs/installer/scriptengine.cpp | |
parent | a42d6ada24a398c423d8aa24bb9148a9fbbae1cb (diff) |
Make sure to remove all objects from script engine.
Change-Id: I5dedd63bad3eb37b55a3cc246b3c74ba58396b32
Reviewed-by: Niels Weber <niels.weber@digia.com>
Reviewed-by: Kai Koehne <kai.koehne@theqtcompany.com>
Diffstat (limited to 'src/libs/installer/scriptengine.cpp')
-rw-r--r-- | src/libs/installer/scriptengine.cpp | 14 |
1 files changed, 14 insertions, 0 deletions
diff --git a/src/libs/installer/scriptengine.cpp b/src/libs/installer/scriptengine.cpp index 33ce6f3a0..81316374c 100644 --- a/src/libs/installer/scriptengine.cpp +++ b/src/libs/installer/scriptengine.cpp @@ -313,6 +313,20 @@ void ScriptEngine::addQObjectChildren(QObject *root) } } +void ScriptEngine::removeQObjectChildren(QObject *root) +{ + if ((!root) || root->objectName().isEmpty()) + return; + + const QObjectList children = root->children(); + m_engine.globalObject().deleteProperty(root->objectName()); + foreach (QObject *const child, children) { + if (child->objectName().isEmpty()) + continue; + m_engine.globalObject().deleteProperty(child->objectName()); + } +} + /*! Loads a script into the given \a context at \a fileName inside the ScriptEngine. |