From 4cb4bcec0f42022cefe2b4b4e28f954aff618259 Mon Sep 17 00:00:00 2001 From: Thomas Hartmann Date: Thu, 15 Oct 2020 20:16:12 +0200 Subject: [PATCH] QmlDesigner: Fix recent regression MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit After calling differenceHandler.typeDiffers() the modeNode can be invalid. We have to account for this. Task-number: QDS-2954 Change-Id: I76e28dcd3f1a824802e60bf47b773f5b8cb3d15a Reviewed-by: Henning Gründl Reviewed-by: Thomas Hartmann --- .../qmldesigner/designercore/model/texttomodelmerger.cpp | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp index 358720f5e7f..708d120ba53 100644 --- a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp +++ b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp @@ -1119,6 +1119,10 @@ void TextToModelMerger::syncNode(ModelNode &modelNode, differenceHandler.typeDiffers(isRootNode, modelNode, typeName, majorVersion, minorVersion, astNode, context); + + if (!modelNode.isValid()) + return; + if (!isRootNode && modelNode.majorVersion() != -1 && modelNode.minorVersion() != -1) { qWarning() << "Preempting Node sync. Type differs" << modelNode << modelNode.majorVersion() << modelNode.minorVersion();