diff options
author | Thomas Hartmann <Thomas.Hartmann@nokia.com> | 2011-03-04 14:09:59 +0100 |
---|---|---|
committer | Thomas Hartmann <Thomas.Hartmann@nokia.com> | 2011-03-04 14:09:59 +0100 |
commit | 14b251eda064ff23d87065cd32b5a76c7aa5fb92 (patch) | |
tree | 4c2e1752b4af656dc2aea8847c0c69056cbddaa6 /src/plugins/qmldesigner/designercore/model/bindingproperty.cpp | |
parent | 00df3b718ed3d04b2dd587fce9939a8a02302bb8 (diff) | |
download | qt-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.cpp | 9 |
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 } |