summaryrefslogtreecommitdiffstats
path: root/src/libs/installer/scriptengine.cpp
diff options
context:
space:
mode:
authorkh1 <karsten.heimrich@digia.com>2014-10-28 13:56:56 +0100
committerKarsten Heimrich <karsten.heimrich@digia.com>2014-10-30 15:30:41 +0100
commit37785d75c9fb44f4a78053b198b6065f6150d9ae (patch)
treef67a82cbcddd7767f91b1c4e31f71ad227bbe87b /src/libs/installer/scriptengine.cpp
parenta42d6ada24a398c423d8aa24bb9148a9fbbae1cb (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.cpp14
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.