summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMichael Brasser <michael.brasser@nokia.com>2009-10-20 03:41:10 (GMT)
committerMichael Brasser <michael.brasser@nokia.com>2009-10-20 03:42:26 (GMT)
commit3f7d4b985847d49cb47b666535218f2b9b08e0a5 (patch)
treeacddc8807cdb3e1757699744a1cbc947dfa45afc
parentdea5af3305ea0b4c7481d0b8f5bad4613a1fb6bc (diff)
downloadQt-3f7d4b985847d49cb47b666535218f2b9b08e0a5.zip
Qt-3f7d4b985847d49cb47b666535218f2b9b08e0a5.tar.gz
Qt-3f7d4b985847d49cb47b666535218f2b9b08e0a5.tar.bz2
Don't accidently override originals.
-rw-r--r--src/declarative/util/qmlstate.cpp3
1 files changed, 2 insertions, 1 deletions
diff --git a/src/declarative/util/qmlstate.cpp b/src/declarative/util/qmlstate.cpp
index 98facd9..7e4e992 100644
--- a/src/declarative/util/qmlstate.cpp
+++ b/src/declarative/util/qmlstate.cpp
@@ -350,7 +350,6 @@ void QmlState::apply(QmlStateGroup *group, QmlTransition *trans, QmlState *rever
if (action.event) {
if (!action.event->isReversable())
continue;
- action.event->saveOriginals();
for (jj = 0; jj < d->revertList.count(); ++jj) {
ActionEvent *event = d->revertList.at(jj).event;
if (event && event->typeName() == action.event->typeName()) {
@@ -360,6 +359,8 @@ void QmlState::apply(QmlStateGroup *group, QmlTransition *trans, QmlState *rever
}
}
}
+ if (!found || action.event != d->revertList.at(jj).event)
+ action.event->saveOriginals();
} else {
action.fromBinding = action.property.binding();