diff --git a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp index 84b48a11b3c..7637c006368 100644 --- a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp +++ b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp @@ -1161,7 +1161,8 @@ void TextToModelMerger::syncNode(ModelNode &modelNode, if (auto array = AST::cast(member)) { const QString astPropertyName = toString(array->qualifiedId); - if (isPropertyChangesType(typeName) || isConnectionsType(typeName)) { + if (isPropertyChangesType(typeName) || isConnectionsType(typeName) + || modelNode.metaInfo().hasProperty(astPropertyName.toUtf8())) { AbstractProperty modelProperty = modelNode.property(astPropertyName.toUtf8()); QList arrayMembers; for (AST::UiArrayMemberList *iter = array->members; iter; iter = iter->next) @@ -1379,9 +1380,9 @@ QmlDesigner::PropertyName TextToModelMerger::syncScriptBinding(ModelNode &modelN } if (isLiteralValue(script)) { - if (isPropertyChangesType(modelNode.type()) - || isConnectionsType(modelNode.type()) - || isListElementType(modelNode.type())) { + if (isPropertyChangesType(modelNode.type()) || isConnectionsType(modelNode.type()) + || isListElementType(modelNode.type()) + || modelNode.metaInfo().hasProperty(astPropertyName.toUtf8())) { AbstractProperty modelProperty = modelNode.property(astPropertyName.toUtf8()); QVariant variantValue = parsePropertyScriptBinding(script); if (!variantValue.isValid())