summaryrefslogtreecommitdiffstats
path: root/src/declarative
diff options
context:
space:
mode:
authorMichael Brasser <michael.brasser@nokia.com>2010-08-02 05:36:35 (GMT)
committerMichael Brasser <michael.brasser@nokia.com>2010-08-02 05:40:39 (GMT)
commit969daadd245153e8bb6c9a89a51565b83832f484 (patch)
treed09280da58fff20a2d6342fdd3ecccc178e554dc /src/declarative
parent0ea02a0576ebbc9cf8dfa9fb6c8137f2eb261422 (diff)
downloadQt-969daadd245153e8bb6c9a89a51565b83832f484.zip
Qt-969daadd245153e8bb6c9a89a51565b83832f484.tar.gz
Qt-969daadd245153e8bb6c9a89a51565b83832f484.tar.bz2
Correctly apply PropertyChanges when entering an extended state
directly from the base state. Make sure qmlExecuteDeferred is called on the state being extended. Task-number: QTBUG-12559
Diffstat (limited to 'src/declarative')
-rw-r--r--src/declarative/util/qdeclarativestate.cpp4
1 files changed, 3 insertions, 1 deletions
diff --git a/src/declarative/util/qdeclarativestate.cpp b/src/declarative/util/qdeclarativestate.cpp
index 9f4cc39..f7dae10 100644
--- a/src/declarative/util/qdeclarativestate.cpp
+++ b/src/declarative/util/qdeclarativestate.cpp
@@ -358,8 +358,10 @@ QDeclarativeStatePrivate::generateActionList(QDeclarativeStateGroup *group) cons
if (!extends.isEmpty()) {
QList<QDeclarativeState *> states = group->states();
for (int ii = 0; ii < states.count(); ++ii)
- if (states.at(ii)->name() == extends)
+ if (states.at(ii)->name() == extends) {
+ qmlExecuteDeferred(states.at(ii));
applyList = static_cast<QDeclarativeStatePrivate*>(states.at(ii)->d_func())->generateActionList(group);
+ }
}
foreach(QDeclarativeStateOperation *op, operations)