summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJesper K. Pedersen <jesper.pedersen@kdab.com>2013-05-07 16:07:31 +0200
committerJesper K. Pedersen <jesper.pedersen@kdab.com>2013-05-13 10:16:56 +0200
commit560956d61af6e9d7b842ec0de6c9a144280ccd63 (patch)
treef42180dde9e9836ca8915377daeccfb025a3ecbf
parent342a81ec6738d63eed8b12d7678ccd22b1ab1c3e (diff)
change ownership so the object will be propertly destructed
Change-Id: I958f4811c477b6d1a25af9b36ae4b576666e2a8b Reviewed-by: Nicolas Arnaud-Cormos <nicolas@kdab.com>
-rw-r--r--scriptrunner.cpp2
-rw-r--r--scriptwrappers.h2
2 files changed, 3 insertions, 1 deletions
diff --git a/scriptrunner.cpp b/scriptrunner.cpp
index a3ab9d2..c75a90d 100644
--- a/scriptrunner.cpp
+++ b/scriptrunner.cpp
@@ -132,6 +132,8 @@ ErrorMessage ScriptRunner::runScript(const QString fileName)
if (editorManager->currentEditor())
editorManager->currentEditor()->widget()->setFocus(Qt::OtherFocusReason);
+ m_engine->collectGarbage();
+
if (failed)
return ErrorMessage(errorFileName, m_engine->uncaughtExceptionLineNumber(), result.toString());
diff --git a/scriptwrappers.h b/scriptwrappers.h
index ae4c104..9d29a91 100644
--- a/scriptwrappers.h
+++ b/scriptwrappers.h
@@ -17,7 +17,7 @@ void registerWrappers(QScriptEngine* engine );
template <class SomeQObject>
static QScriptValue qObjectToScriptValue(QScriptEngine *engine, SomeQObject * const &qo)
{
- return engine->newQObject(qo, QScriptEngine::QtOwnership, QScriptEngine::ExcludeChildObjects);
+ return engine->newQObject(qo, QScriptEngine::AutoOwnership);
}
// Convert Scriptvalue back to a class derived from QObject via QScriptValue::toQObject()