diff options
author | Eike Ziller <eike.ziller@qt.io> | 2022-09-27 10:03:37 +0200 |
---|---|---|
committer | Eike Ziller <eike.ziller@qt.io> | 2022-09-27 10:03:37 +0200 |
commit | 7eaa36e6e58a7c4ff8ec8a691c2a5abc39ae5f30 (patch) | |
tree | 872b997978f8065ec1d58df52301d9e1b308683c /share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp | |
parent | 21c5d3499ba143f4ff703410174e27c11f7ddda3 (diff) | |
parent | 4da66867051b27354b71ff6b4690d4e2d1e53bd6 (diff) |
Merge remote-tracking branch 'origin/8.0' into 9.0
Conflicts:
src/plugins/qmldesigner/components/materialbrowser/materialbrowserview.cpp
src/plugins/qmldesigner/designercore/imagecache/meshimagecachecollector.cpp
Change-Id: I38f196e8f42cf11f7b613e7a723745600e35c5e9
Diffstat (limited to 'share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp')
-rw-r--r-- | share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp | 14 |
1 files changed, 13 insertions, 1 deletions
diff --git a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp index 2e6ccead54..918e147798 100644 --- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp +++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp @@ -846,6 +846,10 @@ void QuickItemNodeInstance::setPropertyVariant(const PropertyName &name, const Q void QuickItemNodeInstance::setPropertyBinding(const PropertyName &name, const QString &expression) { + static QList<PropertyName> anchorsTargets = {"anchors.top", + "acnhors.bottom", + "anchors.left", + "achors.right"}; if (ignoredProperties().contains(name)) return; @@ -857,7 +861,15 @@ void QuickItemNodeInstance::setPropertyBinding(const PropertyName &name, const Q markRepeaterParentDirty(); - ObjectNodeInstance::setPropertyBinding(name, expression); + if (anchorsTargets.contains(name)) { + //When resolving anchor targets we have to provide the root context the ids are defined in. + QmlPrivateGate::setPropertyBinding(object(), + context()->engine()->rootContext(), + name, + expression); + } else { + ObjectNodeInstance::setPropertyBinding(name, expression); + } refresh(); |