diff --git a/src/plugins/qmldesigner/core/model/modelmerger.cpp b/src/plugins/qmldesigner/core/model/modelmerger.cpp index 5ac8dafa6ea..7e9290cda76 100644 --- a/src/plugins/qmldesigner/core/model/modelmerger.cpp +++ b/src/plugins/qmldesigner/core/model/modelmerger.cpp @@ -108,7 +108,7 @@ static void setupIdRenamingHash(const ModelNode &modelNode, QHashhasId(newId) || idRenamingHash.contains(newId)) { + while (view->hasId(newId) || idRenamingHash.values().contains(newId)) { newId = baseId + QString::number(number); number++; } @@ -160,6 +160,7 @@ ModelNode ModelMerger::insertModel(const ModelNode &modelNode) QHash idRenamingHash; setupIdRenamingHash(modelNode, idRenamingHash, view()); + qDebug() << idRenamingHash; ModelNode newNode(createNodeFromNode(modelNode, idRenamingHash, view())); return newNode; diff --git a/tests/auto/qml/qmldesigner/coretests/testcore.cpp b/tests/auto/qml/qmldesigner/coretests/testcore.cpp index 2d5123fcbdc..037ce1ae1ae 100644 --- a/tests/auto/qml/qmldesigner/coretests/testcore.cpp +++ b/tests/auto/qml/qmldesigner/coretests/testcore.cpp @@ -2751,8 +2751,6 @@ void TestCore::testRewriterFirstDefinitionInside() void TestCore::testCopyModelRewriter1() { - QSKIP("Fix me!!! Task BaAUHAUS-393", SkipAll); - const QLatin1String qmlString("\n" "import Qt 4.6\n" "\n" @@ -2865,20 +2863,20 @@ void TestCore::testCopyModelRewriter1() " x: 10\n" " y: 10\n" " Rectangle {\n" - " id: rectangle11\n" + " id: rectangle4\n" " x: 10\n" " y: 10\n" " }\n" "\n" " Rectangle {\n" - " id: rectangle21\n" + " id: rectangle5\n" " x: 100\n" " y: 100\n" " anchors.fill: root1\n" " }\n" "\n" " Rectangle {\n" - " id: rectangle31\n" + " id: rectangle6\n" " x: 140\n" " y: 180\n" " gradient: Gradient {\n"