From 0c1d44604ad45d9f587910e828dc9368268b41d6 Mon Sep 17 00:00:00 2001 From: Vikas Pachdha Date: Wed, 24 Feb 2021 15:05:17 +0100 Subject: [PATCH] QmlDesigner: Handle dynamic properties while merging model Add variant properties explicitly to handle dynamic properties Change-Id: I22366e29e390a2dda7d882e4c2fde2540397c955 Reviewed-by: Thomas Hartmann --- .../designercore/model/modelmerger.cpp | 17 +++++++++-------- 1 file changed, 9 insertions(+), 8 deletions(-) diff --git a/src/plugins/qmldesigner/designercore/model/modelmerger.cpp b/src/plugins/qmldesigner/designercore/model/modelmerger.cpp index 6bf80dfd570..df1939cc4bb 100644 --- a/src/plugins/qmldesigner/designercore/model/modelmerger.cpp +++ b/src/plugins/qmldesigner/designercore/model/modelmerger.cpp @@ -62,8 +62,13 @@ static QString fixExpression(const QString &expression, const QHash &idRenamingHash, AbstractView *view, const MergePredicate &mergePredicate) { - QList > propertyList; - QList > variantPropertyList; - foreach (const VariantProperty &variantProperty, modelNode.variantProperties()) { - propertyList.append(QPair(variantProperty.name(), variantProperty.value())); - } NodeMetaInfo nodeMetaInfo = view->model()->metaInfo(modelNode.type()); ModelNode newNode(view->createModelNode(modelNode.type(), nodeMetaInfo.majorVersion(), nodeMetaInfo.minorVersion(), - propertyList, variantPropertyList, modelNode.nodeSource(), modelNode.nodeSourceType())); + {}, {}, modelNode.nodeSource(), modelNode.nodeSourceType())); + syncVariantProperties(newNode, modelNode); syncAuxiliaryProperties(newNode, modelNode); syncBindingProperties(newNode, modelNode, idRenamingHash); syncSignalHandlerProperties(newNode, modelNode, idRenamingHash);