diff options
author | Simon Hausmann <simon.hausmann@qt.io> | 2016-06-03 12:57:25 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2016-06-03 13:24:12 +0000 |
commit | 8ea3763a22d4ae114eee0063ef1c3ce31ac1b44d (patch) | |
tree | 1563ad970031bf3b202ea1c3e2946ac7c3137995 /src/qml/qml/qqmlincubator.cpp | |
parent | e2fd32cf30d0b5e947ad6c068781507988528c64 (diff) |
Use automatic refcounting for the compilation unit in QQmlComponentPrivate and the incubator
Change-Id: I70d609ce282a537b67a5e7c01c12d9ce65995133
Reviewed-by: Lars Knoll <lars.knoll@qt.io>
Diffstat (limited to 'src/qml/qml/qqmlincubator.cpp')
-rw-r--r-- | src/qml/qml/qqmlincubator.cpp | 11 |
1 files changed, 3 insertions, 8 deletions
diff --git a/src/qml/qml/qqmlincubator.cpp b/src/qml/qml/qqmlincubator.cpp index c52b5014ca..7494d6a633 100644 --- a/src/qml/qml/qqmlincubator.cpp +++ b/src/qml/qml/qqmlincubator.cpp @@ -131,7 +131,7 @@ QQmlIncubationController *QQmlEngine::incubationController() const QQmlIncubatorPrivate::QQmlIncubatorPrivate(QQmlIncubator *q, QQmlIncubator::IncubationMode m) : q(q), status(QQmlIncubator::Null), mode(m), isAsynchronous(false), progress(Execute), - result(0), enginePriv(0), compilationUnit(0), waitingOnMe(0) + result(0), enginePriv(0), waitingOnMe(0) { } @@ -142,18 +142,13 @@ QQmlIncubatorPrivate::~QQmlIncubatorPrivate() void QQmlIncubatorPrivate::clear() { + compilationUnit = nullptr; if (next.isInList()) { next.remove(); - Q_ASSERT(compilationUnit); - compilationUnit->release(); - compilationUnit = 0; enginePriv->incubatorCount--; QQmlIncubationController *controller = enginePriv->incubationController; if (controller) controller->incubatingObjectCountChanged(enginePriv->incubatorCount); - } else if (compilationUnit) { - compilationUnit->release(); - compilationUnit = 0; } enginePriv = 0; if (!rootContext.isNull()) { @@ -570,7 +565,7 @@ void QQmlIncubator::clear() d->clear(); - Q_ASSERT(d->compilationUnit == 0); + Q_ASSERT(d->compilationUnit.isNull()); Q_ASSERT(d->waitingOnMe.data() == 0); Q_ASSERT(d->waitingFor.isEmpty()); |