From 55c3e747b78b1cf72d405b56889171b3ed8410a3 Mon Sep 17 00:00:00 2001 From: Erik Verbruggen <erik.verbruggen@nokia.com> Date: Mon, 18 Jan 2010 15:27:10 +0100 Subject: [PATCH] Changed the way IDs are set, to prevent duplicate IDs in the model. --- .../qmldesigner/core/model/texttomodelmerger.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/plugins/qmldesigner/core/model/texttomodelmerger.cpp b/src/plugins/qmldesigner/core/model/texttomodelmerger.cpp index 7646865cb8d..8c8d2140b04 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); + } } } -- GitLab