diff --git a/src/plugins/qmldesigner/designercore/model/modelmerger.cpp b/src/plugins/qmldesigner/designercore/model/modelmerger.cpp index 8517f9cb827..4034faccdeb 100644 --- a/src/plugins/qmldesigner/designercore/model/modelmerger.cpp +++ b/src/plugins/qmldesigner/designercore/model/modelmerger.cpp @@ -38,6 +38,7 @@ #include #include +#include namespace QmlDesigner { @@ -45,10 +46,13 @@ static ModelNode createNodeFromNode(const ModelNode &modelNode,const QHash &idRenamingHash) { + const QString pattern("\\b%1\\b"); // Match only full ids QString newExpression = expression; - foreach (const QString &id, idRenamingHash.keys()) { - if (newExpression.contains(id)) - newExpression = newExpression.replace(id, idRenamingHash.value(id)); + const auto keys = idRenamingHash.keys(); + for (const QString &id : keys) { + QRegularExpression re(pattern.arg(id)); + if (newExpression.contains(re)) + newExpression = newExpression.replace(re, idRenamingHash.value(id)); } return newExpression; }