diff options
author | Michael Brasser <michael.brasser@nokia.com> | 2011-11-08 08:35:55 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-11-09 01:23:33 +0100 |
commit | 26ec7d7e407fd1b55f69d63833a3ee8af4479d85 (patch) | |
tree | 1de05ec9fe5f9352b7afa0872cb0105d8386ed68 /src | |
parent | 9eca40d0dac8f5ac3f7ccf4c998e44395084adfc (diff) |
Property changes in Component.onCompleted should trigger Behaviors.
Task-number: QTBUG-22555
Change-Id: Ieffb8037d7289113ea4f629ba3b578a845d2cb28
Reviewed-by: Martin Jones <martin.jones@nokia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/declarative/qml/qdeclarativevme.cpp | 24 |
1 files changed, 12 insertions, 12 deletions
diff --git a/src/declarative/qml/qdeclarativevme.cpp b/src/declarative/qml/qdeclarativevme.cpp index ad8d80c51a..52095e34f3 100644 --- a/src/declarative/qml/qdeclarativevme.cpp +++ b/src/declarative/qml/qdeclarativevme.cpp @@ -1384,6 +1384,18 @@ QDeclarativeContextData *QDeclarativeVME::complete(const Interrupt &interrupt) } parserStatus.deallocate(); + for (int ii = 0; ii < finalizeCallbacks.count(); ++ii) { + QDeclarativeEnginePrivate::FinalizeCallback callback = finalizeCallbacks.at(ii); + QObject *obj = callback.first; + if (obj) { + void *args[] = { 0 }; + QMetaObject::metacall(obj, QMetaObject::InvokeMetaMethod, callback.second, args); + } + if (watcher.hasRecursed()) + return 0; + } + finalizeCallbacks.clear(); + while (componentAttached) { QDeclarativeComponentAttached *a = componentAttached; a->rem(); @@ -1397,18 +1409,6 @@ QDeclarativeContextData *QDeclarativeVME::complete(const Interrupt &interrupt) return 0; } - for (int ii = 0; ii < finalizeCallbacks.count(); ++ii) { - QDeclarativeEnginePrivate::FinalizeCallback callback = finalizeCallbacks.at(ii); - QObject *obj = callback.first; - if (obj) { - void *args[] = { 0 }; - QMetaObject::metacall(obj, QMetaObject::InvokeMetaMethod, callback.second, args); - } - if (watcher.hasRecursed()) - return 0; - } - finalizeCallbacks.clear(); - QDeclarativeContextData *rv = rootContext; reset(); |