aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp14
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 5b1f3171ad..549db1b789 100644
--- a/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp
+++ b/share/qtcreator/qml/qmlpuppet/qml2puppet/instances/quickitemnodeinstance.cpp
@@ -872,6 +872,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;
@@ -883,7 +887,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();