forked from qt-creator/qt-creator
Revertlist for states are now skipped if the state is destroying.
Task-Number: BAUHAUS-636 Reviewed-by: kkoehne
This commit is contained in:
@@ -252,7 +252,7 @@ QDeclarativeStateGroup *QmlPropertyChangesObject::stateGroup() const
|
|||||||
|
|
||||||
QDeclarativeStatePrivate *QmlPropertyChangesObject::statePrivate() const
|
QDeclarativeStatePrivate *QmlPropertyChangesObject::statePrivate() const
|
||||||
{
|
{
|
||||||
if (!parent())
|
if (!parent() || QObjectPrivate::get(parent())->wasDeleted)
|
||||||
return 0;
|
return 0;
|
||||||
|
|
||||||
Q_ASSERT(qobject_cast<QDeclarativeState*>(parent()));
|
Q_ASSERT(qobject_cast<QDeclarativeState*>(parent()));
|
||||||
@@ -350,13 +350,14 @@ void QmlPropertyChangesObject::removeFromStateRevertList()
|
|||||||
while(simpleActionIterator.hasNext()) {
|
while(simpleActionIterator.hasNext()) {
|
||||||
QDeclarativeSimpleAction &simpleAction = simpleActionIterator.next();
|
QDeclarativeSimpleAction &simpleAction = simpleActionIterator.next();
|
||||||
if (simpleAction.specifiedObject == targetObject()) {
|
if (simpleAction.specifiedObject == targetObject()) {
|
||||||
Q_ASSERT(simpleAction.property.isValid());
|
if (simpleAction.property.isValid()) {
|
||||||
if (simpleAction.binding) {
|
if (simpleAction.binding) {
|
||||||
QDeclarativePropertyPrivate::setBinding(simpleAction.property, simpleAction.binding);
|
QDeclarativePropertyPrivate::setBinding(simpleAction.property, simpleAction.binding);
|
||||||
} else if (simpleAction.value.isValid()) {
|
} else if (simpleAction.value.isValid()) {
|
||||||
QDeclarativePropertyPrivate::setBinding(simpleAction.property, 0);
|
QDeclarativePropertyPrivate::setBinding(simpleAction.property, 0);
|
||||||
simpleAction.property.write(simpleAction.value);
|
simpleAction.property.write(simpleAction.value);
|
||||||
}
|
}
|
||||||
|
}
|
||||||
simpleActionIterator.remove();
|
simpleActionIterator.remove();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user