diff options
author | Aaron Kennedy <aaron.kennedy@nokia.com> | 2011-10-06 17:33:39 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-10-07 04:26:50 +0200 |
commit | d517e9c541e5869e87006faeccd60be5690bee5b (patch) | |
tree | faf429942478baa9bf11fa7cad6a63153b6bfaa7 /src/declarative/qml/qdeclarativeincubator.cpp | |
parent | ff79fc671407c2457edee1b0a3404928897e6948 (diff) |
QDeclarativeIncubator autotests
Change-Id: I5c4594c40fccfe6cb8b198a5fd6c11b468b0562e
Reviewed-on: http://codereview.qt-project.org/6118
Reviewed-by: Aaron Kennedy <aaron.kennedy@nokia.com>
Diffstat (limited to 'src/declarative/qml/qdeclarativeincubator.cpp')
-rw-r--r-- | src/declarative/qml/qdeclarativeincubator.cpp | 18 |
1 files changed, 16 insertions, 2 deletions
diff --git a/src/declarative/qml/qdeclarativeincubator.cpp b/src/declarative/qml/qdeclarativeincubator.cpp index ae1ae2dc53..9644d3a20d 100644 --- a/src/declarative/qml/qdeclarativeincubator.cpp +++ b/src/declarative/qml/qdeclarativeincubator.cpp @@ -81,6 +81,9 @@ void QDeclarativeEnginePrivate::incubate(QDeclarativeIncubator &i, QDeclarativeC inProgressCreations++; + Q_ASSERT(i.isLoading()); + i.statusChanged(i.status()); + if (mode == QDeclarativeIncubator::Synchronous) { QDeclarativeVME::Interrupt i; p->incubate(i); @@ -247,6 +250,8 @@ void QDeclarativeIncubatorPrivate::incubate(QDeclarativeVME::Interrupt &i) bool guardOk = vmeGuard.isOK(); vmeGuard.clear(); + QDeclarativeIncubator::Status oldStatus = q->status(); + if (!guardOk) { QDeclarativeError error; error.setUrl(component->url); @@ -285,7 +290,12 @@ void QDeclarativeIncubatorPrivate::incubate(QDeclarativeVME::Interrupt &i) else progress = QDeclarativeIncubatorPrivate::Completed; - q->statusChanged(q->status()); + QDeclarativeIncubator::Status newStatus = q->status(); + + if (oldStatus != newStatus) { + q->statusChanged(newStatus); + oldStatus = newStatus; + } if (watcher.hasRecursed()) return; @@ -314,7 +324,11 @@ finishIncubate: enginePriv->inProgressCreations--; - q->statusChanged(q->status()); + QDeclarativeIncubator::Status newStatus = q->status(); + if (newStatus != oldStatus) { + q->statusChanged(newStatus); + oldStatus = newStatus; + } if (0 == enginePriv->inProgressCreations) { while (enginePriv->erroredBindings) { |