diff options
author | Aaron Kennedy <aaron.kennedy@nokia.com> | 2011-10-18 13:34:20 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-10-20 13:25:31 +0200 |
commit | 84af8c0ca510366a3017c1af83abc1cd18009198 (patch) | |
tree | 72a8571c8150f9d383eb7de03fc04fa9de9ab4f9 /src/declarative/qml/qdeclarativeincubator.cpp | |
parent | 0db8440681ed0d1ea9baeda21dd71bb2e331bea2 (diff) |
Behave correctly when AsynchronousIfNested is nested
When AIN is nested within a synchronous AIN, it should behave
synchronously.
Change-Id: Ib3f8281667118d7787967f25e27797f67e581006
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Diffstat (limited to 'src/declarative/qml/qdeclarativeincubator.cpp')
-rw-r--r-- | src/declarative/qml/qdeclarativeincubator.cpp | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/src/declarative/qml/qdeclarativeincubator.cpp b/src/declarative/qml/qdeclarativeincubator.cpp index 1417ed466a..abd759dcc0 100644 --- a/src/declarative/qml/qdeclarativeincubator.cpp +++ b/src/declarative/qml/qdeclarativeincubator.cpp @@ -72,13 +72,15 @@ void QDeclarativeEnginePrivate::incubate(QDeclarativeIncubator &i, QDeclarativeC cctxt = cctxt->parent; } - if (parentIncubator && parentIncubator->mode != QDeclarativeIncubator::Synchronous) { + if (parentIncubator && parentIncubator->isAsynchronous) { mode = QDeclarativeIncubator::Asynchronous; p->waitingOnMe = parentIncubator; parentIncubator->waitingFor.insert(p); } } + p->isAsynchronous = (mode != QDeclarativeIncubator::Synchronous); + inProgressCreations++; p->changeStatus(QDeclarativeIncubator::Loading); @@ -121,8 +123,8 @@ QDeclarativeIncubationController *QDeclarativeEngine::incubationController() con QDeclarativeIncubatorPrivate::QDeclarativeIncubatorPrivate(QDeclarativeIncubator *q, QDeclarativeIncubator::IncubationMode m) -: q(q), status(QDeclarativeIncubator::Null), mode(m), progress(Execute), result(0), component(0), - vme(this), waitingOnMe(0) +: q(q), status(QDeclarativeIncubator::Null), mode(m), isAsynchronous(false), progress(Execute), + result(0), component(0), vme(this), waitingOnMe(0) { } |