diff options
author | Thomas McGuire <thomas.mcguire.qnx@kdab.com> | 2012-08-14 14:19:09 +0200 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-08-31 14:33:01 +0200 |
commit | 5e428bb926e0ad4df8ddd672d38b73f5859cbfd5 (patch) | |
tree | 1dd658c50d171aeafdcbcff76b7c48a0c709c98b /src | |
parent | 04774bb14c81688f86a2b31b8624bde8ebf59062 (diff) |
Delete weak JS objects on exit right away
This reduces memory leaks on exit when the engine is destroyed
after exec() has finished.
Change-Id: I917d103966d55b4dd3ba4e986ff902e29d8fb0ac
Reviewed-by: Chris Adams <christopher.adams@nokia.com>
Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/qml/qml/v8/qv8qobjectwrapper.cpp | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/src/qml/qml/v8/qv8qobjectwrapper.cpp b/src/qml/qml/v8/qv8qobjectwrapper.cpp index ee80dded34..d6e0190a9e 100644 --- a/src/qml/qml/v8/qv8qobjectwrapper.cpp +++ b/src/qml/qml/v8/qv8qobjectwrapper.cpp @@ -1178,7 +1178,10 @@ bool QV8QObjectWrapper::deleteWeakQObject(QV8QObjectResource *resource, bool cal if (ddata->ownContext && ddata->context) ddata->context->emitDestruction(); ddata->isQueuedForDeletion = true; - object->deleteLater(); + if (calledFromEngineDtor) + delete object; + else + object->deleteLater(); } } } |