From bc26b917b9a8be7861a7b52fa3ae78f7523292bc Mon Sep 17 00:00:00 2001 From: Marco Bubke <marco.bubke@nokia.com> Date: Mon, 26 Apr 2010 19:16:06 +0200 Subject: [PATCH] Revertlist for states are now skipped if the state is destroying. Task-Number: BAUHAUS-636 Reviewed-by: kkoehne --- .../instances/qmlpropertychangesnodeinstance.cpp | 15 ++++++++------- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/plugins/qmldesigner/core/instances/qmlpropertychangesnodeinstance.cpp b/src/plugins/qmldesigner/core/instances/qmlpropertychangesnodeinstance.cpp index c8938ef2556..517dfb48435 100644 --- a/src/plugins/qmldesigner/core/instances/qmlpropertychangesnodeinstance.cpp +++ b/src/plugins/qmldesigner/core/instances/qmlpropertychangesnodeinstance.cpp @@ -252,7 +252,7 @@ QDeclarativeStateGroup *QmlPropertyChangesObject::stateGroup() const QDeclarativeStatePrivate *QmlPropertyChangesObject::statePrivate() const { - if (!parent()) + if (!parent() || QObjectPrivate::get(parent())->wasDeleted) return 0; Q_ASSERT(qobject_cast<QDeclarativeState*>(parent())); @@ -350,12 +350,13 @@ void QmlPropertyChangesObject::removeFromStateRevertList() while(simpleActionIterator.hasNext()) { QDeclarativeSimpleAction &simpleAction = simpleActionIterator.next(); if (simpleAction.specifiedObject == targetObject()) { - Q_ASSERT(simpleAction.property.isValid()); - if (simpleAction.binding) { - QDeclarativePropertyPrivate::setBinding(simpleAction.property, simpleAction.binding); - } else if (simpleAction.value.isValid()) { - QDeclarativePropertyPrivate::setBinding(simpleAction.property, 0); - simpleAction.property.write(simpleAction.value); + if (simpleAction.property.isValid()) { + if (simpleAction.binding) { + QDeclarativePropertyPrivate::setBinding(simpleAction.property, simpleAction.binding); + } else if (simpleAction.value.isValid()) { + QDeclarativePropertyPrivate::setBinding(simpleAction.property, 0); + simpleAction.property.write(simpleAction.value); + } } simpleActionIterator.remove(); } -- GitLab