aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMichael Brasser <michael.brasser@nokia.com>2011-11-08 08:35:55 +1000
committerQt by Nokia <qt-info@nokia.com>2011-11-09 01:23:33 +0100
commit26ec7d7e407fd1b55f69d63833a3ee8af4479d85 (patch)
tree1de05ec9fe5f9352b7afa0872cb0105d8386ed68 /src
parent9eca40d0dac8f5ac3f7ccf4c998e44395084adfc (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.cpp24
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();