diff --git a/src/plugins/qmldesigner/core/model/texttomodelmerger.cpp b/src/plugins/qmldesigner/core/model/texttomodelmerger.cpp index 7646865cb8d4029ceefd61c02d3df104aae15694..8c8d2140b04f86709ff1b2d124931fc211d441de 100644 --- a/src/plugins/qmldesigner/core/model/texttomodelmerger.cpp +++ b/src/plugins/qmldesigner/core/model/texttomodelmerger.cpp @@ -129,11 +129,19 @@ void TextToModelMerger::syncNode(ModelNode &modelNode, const QmlDomObject &domOb domObjectId = domIdProperty.value().toLiteral().literal(); if (domObjectId.isEmpty()) { - if (!modelNode.id().isEmpty()) + if (!modelNode.id().isEmpty()) { + ModelNode existingNodeWithId = m_rewriterView->modelNodeForId(domObjectId); + if (existingNodeWithId.isValid()) + existingNodeWithId.setId(QString()); differenceHandler.idsDiffer(modelNode, domObjectId); + } } else { - if (modelNode.id() != domObjectId) + if (modelNode.id() != domObjectId) { + ModelNode existingNodeWithId = m_rewriterView->modelNodeForId(domObjectId); + if (existingNodeWithId.isValid()) + existingNodeWithId.setId(QString()); differenceHandler.idsDiffer(modelNode, domObjectId); + } } }