diff --git a/share/qtcreator/qml/qmlpuppet/instances/nodeinstanceserver.cpp b/share/qtcreator/qml/qmlpuppet/instances/nodeinstanceserver.cpp index 256ee72857d3b8a92ecce43b961ae45007dafdaa..066113a1565261936988900a9f4727eb77617951 100644 --- a/share/qtcreator/qml/qmlpuppet/instances/nodeinstanceserver.cpp +++ b/share/qtcreator/qml/qmlpuppet/instances/nodeinstanceserver.cpp @@ -816,6 +816,17 @@ void NodeInstanceServer::setInstanceAuxiliaryData(const PropertyValueContainer & rootNodeInstance().resetProperty(auxiliaryContainer.name()); } } + if (auxiliaryContainer.name().endsWith(QLatin1String("@NodeInstance"))) { + QString propertyName = auxiliaryContainer.name().leftRef(auxiliaryContainer.name().count() - 12).toString(); + if (!auxiliaryContainer.value().isNull()) { + setInstancePropertyVariant(PropertyValueContainer(auxiliaryContainer.instanceId(), + propertyName, + auxiliaryContainer.value(), + auxiliaryContainer.dynamicTypeName())); + } else { + rootNodeInstance().resetProperty(propertyName); + } + } } diff --git a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp index adfdae29b3bb6c5ca378349fac5097ceb573a078..ec67e6db09c105b71d3d09cccf43344e8a92d484 100644 --- a/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp +++ b/src/plugins/qmldesigner/designercore/instances/nodeinstanceview.cpp @@ -504,7 +504,7 @@ void NodeInstanceView::instancesToken(const QString &/*tokenName*/, int /*tokenN void NodeInstanceView::auxiliaryDataChanged(const ModelNode &node, const QString &name, const QVariant &data) { - if (node.isRootNode() && (name == "width" || name == "height")) { + if ((node.isRootNode() && (name == "width" || name == "height")) || name.endsWith(QLatin1String("@NodeInstance"))) { if (hasInstanceForNode(node)) { NodeInstance instance = instanceForNode(node); QVariant value = data;