aboutsummaryrefslogtreecommitdiffstats
path: root/src/declarative/qml/qdeclarativeincubator.cpp
diff options
context:
space:
mode:
authorAaron Kennedy <aaron.kennedy@nokia.com>2011-10-06 17:33:39 +1000
committerQt by Nokia <qt-info@nokia.com>2011-10-07 04:26:50 +0200
commitd517e9c541e5869e87006faeccd60be5690bee5b (patch)
treefaf429942478baa9bf11fa7cad6a63153b6bfaa7 /src/declarative/qml/qdeclarativeincubator.cpp
parentff79fc671407c2457edee1b0a3404928897e6948 (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.cpp18
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) {