summaryrefslogtreecommitdiff
path: root/src/plugins/qmldesigner/designercore/model/bindingproperty.cpp
diff options
context:
space:
mode:
authorThomas Hartmann <Thomas.Hartmann@nokia.com>2011-03-04 14:09:59 +0100
committerThomas Hartmann <Thomas.Hartmann@nokia.com>2011-03-04 14:09:59 +0100
commit14b251eda064ff23d87065cd32b5a76c7aa5fb92 (patch)
tree4c2e1752b4af656dc2aea8847c0c69056cbddaa6 /src/plugins/qmldesigner/designercore/model/bindingproperty.cpp
parent00df3b718ed3d04b2dd587fce9939a8a02302bb8 (diff)
downloadqt-creator-14b251eda064ff23d87065cd32b5a76c7aa5fb92.tar.gz
QmlDesigner.model: bugfix for states
Ids can have the same name as a property. We did not take care of this case. See task for details. Task-number: QTCREATORBUG-3699
Diffstat (limited to 'src/plugins/qmldesigner/designercore/model/bindingproperty.cpp')
-rw-r--r--src/plugins/qmldesigner/designercore/model/bindingproperty.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/plugins/qmldesigner/designercore/model/bindingproperty.cpp b/src/plugins/qmldesigner/designercore/model/bindingproperty.cpp
index 16ab7b0afe..f6a1478f70 100644
--- a/src/plugins/qmldesigner/designercore/model/bindingproperty.cpp
+++ b/src/plugins/qmldesigner/designercore/model/bindingproperty.cpp
@@ -115,10 +115,13 @@ static ModelNode resolveBinding(const QString &binding, ModelNode currentNode, A
else
return ModelNode(); //binding not valid
} else if (currentNode.hasProperty(element)) {
- if (currentNode.property(element).isNodeProperty())
+ if (currentNode.property(element).isNodeProperty()) {
currentNode = currentNode.nodeProperty(element).modelNode();
- else
- return ModelNode(); //binding not valid
+ } else {
+ currentNode = view->modelNodeForId(element); //id
+ if (!currentNode.isValid())
+ return ModelNode(); //binding not valid
+ }
} else {
currentNode = view->modelNodeForId(element); //id
}