QmlDesigner: Check if we are actually in a state

Mapping the QmlPropertyChanges back to the item makes
only sense if we are in a state.

Change-Id: I47d7a8810b3f920b53bc73eb21980c8abd04c572
Reviewed-by: Thomas Hartmann <thomas.hartmann@qt.io>
This commit is contained in:
Thomas Hartmann
2017-09-22 17:10:55 +02:00
parent 0521b7e1ef
commit 5e95553c5c

View File

@@ -43,6 +43,7 @@
#include "nodelistproperty.h"
#include "nodeproperty.h"
#include "qmlchangeset.h"
#include "qmlstate.h"
#include "qmltimelinemutator.h"
#include "qmltimelinekeyframes.h"
@@ -670,7 +671,7 @@ void NodeInstanceView::updatePosition(const QList<VariantProperty> &propertyList
foreach (const VariantProperty &variantProperty, propertyList) {
if (variantProperty.name() == "x") {
const ModelNode modelNode = variantProperty.parentModelNode();
if (QmlPropertyChanges::isValidQmlPropertyChanges(modelNode)) {
if (!currentState().isBaseState() && QmlPropertyChanges::isValidQmlPropertyChanges(modelNode)) {
ModelNode targetModelNode = QmlPropertyChanges(modelNode).target();
if (targetModelNode.isValid()) {
NodeInstance instance = instanceForModelNode(targetModelNode);
@@ -682,7 +683,7 @@ void NodeInstanceView::updatePosition(const QList<VariantProperty> &propertyList
}
} else if (variantProperty.name() == "y") {
const ModelNode modelNode = variantProperty.parentModelNode();
if (QmlPropertyChanges::isValidQmlPropertyChanges(modelNode)) {
if (!currentState().isBaseState() && QmlPropertyChanges::isValidQmlPropertyChanges(modelNode)) {
ModelNode targetModelNode = QmlPropertyChanges(modelNode).target();
if (targetModelNode.isValid()) {
NodeInstance instance = instanceForModelNode(targetModelNode);