diff options
author | Kai Koehne <kai.koehne@digia.com> | 2013-07-02 11:18:18 +0200 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2013-07-03 13:41:03 +0200 |
commit | 3fe9adaeb8330df02b63a79a601ac998704fc99b (patch) | |
tree | 5896b4ad6f98eef852082080db8145f50555dd96 /src | |
parent | 14a1566fa034a88774a58a7200166dca6e080982 (diff) |
Fix access to invalid memory in ~QQmlEnginePrivate
~QQmlEnginePrivate tries to set incubationController->d to 0. However,
we're already setting the backpointer (q) of incubationController to 0
in ~QQmlEngine, so that the IncubationController destructor might run
in between without being able to reset incubationController.
To fix this, just handle the unsetting of incubationController once, in
~QQmlEnginePrivate.
Task-number: QTBUG-32161
Change-Id: I43a72dcfc0f95938ebfa67d3998adff1fb2d05a1
Reviewed-by: Alan Alpert <aalpert@blackberry.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/qml/qml/qqmlengine.cpp | 3 |
1 files changed, 0 insertions, 3 deletions
diff --git a/src/qml/qml/qqmlengine.cpp b/src/qml/qml/qqmlengine.cpp index 18dbedbed6..5a7a9f1928 100644 --- a/src/qml/qml/qqmlengine.cpp +++ b/src/qml/qml/qqmlengine.cpp @@ -855,9 +855,6 @@ QQmlEngine::~QQmlEngine() QList<QQmlType*> singletonTypes = QQmlMetaType::qmlSingletonTypes(); foreach (QQmlType *currType, singletonTypes) currType->singletonInstanceInfo()->destroy(this); - - if (d->incubationController) - d->incubationController->d = 0; } /*! \fn void QQmlEngine::quit() |