aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorKai Koehne <kai.koehne@digia.com>2013-07-02 11:18:18 +0200
committerThe Qt Project <gerrit-noreply@qt-project.org>2013-07-03 13:41:03 +0200
commit3fe9adaeb8330df02b63a79a601ac998704fc99b (patch)
tree5896b4ad6f98eef852082080db8145f50555dd96 /src
parent14a1566fa034a88774a58a7200166dca6e080982 (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.cpp3
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()