diff --git a/src/plugins/qmldesigner/designercore/model/rewriteaction.cpp b/src/plugins/qmldesigner/designercore/model/rewriteaction.cpp index 106341043db..2b12f03b2b5 100644 --- a/src/plugins/qmldesigner/designercore/model/rewriteaction.cpp +++ b/src/plugins/qmldesigner/designercore/model/rewriteaction.cpp @@ -181,8 +181,10 @@ bool ChangePropertyRewriteAction::execute(QmlRefactoring &refactoring, ModelNode { if (m_sheduledInHierarchy) { const int nodeLocation = positionStore.nodeOffset(m_property.parentModelNode()); - if (nodeLocation < 0) + if (nodeLocation < 0) { + qWarning() << "*** ChangePropertyRewriteAction::execute ignored. Invalid node location"; return true; + } bool result = false; if (m_property.isDefaultProperty()) { diff --git a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp index 61f8d5e0c3e..6c795f1d064 100644 --- a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp +++ b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp @@ -1119,8 +1119,11 @@ void TextToModelMerger::syncNode(ModelNode &modelNode, differenceHandler.typeDiffers(isRootNode, modelNode, typeName, majorVersion, minorVersion, astNode, context); - if (!isRootNode) + if (!isRootNode && modelNode.majorVersion() != -1 && modelNode.minorVersion() != -1) { + qWarning() << "Preempting Node sync. Type differs" << modelNode << + modelNode.majorVersion() << modelNode.minorVersion(); return; // the difference handler will create a new node, so we're done. + } } if (isComponentType(typeName) || isImplicitComponent)