From a9576256b865111d73cfcb8d8d1e22824e6792db Mon Sep 17 00:00:00 2001 From: Miikka Heikkinen Date: Tue, 6 Sep 2022 09:57:20 +0300 Subject: [PATCH] QmlDesigner: Fix crashes if selected node is invalidated Change-Id: Ie85e9b023bca0dccd9c032e0d32e1462d0e77857 Reviewed-by: Mahmoud Badri Reviewed-by: --- .../components/connectioneditor/dynamicpropertiesmodel.cpp | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/plugins/qmldesigner/components/connectioneditor/dynamicpropertiesmodel.cpp b/src/plugins/qmldesigner/components/connectioneditor/dynamicpropertiesmodel.cpp index 880328e9067..ff1b04f4a76 100644 --- a/src/plugins/qmldesigner/components/connectioneditor/dynamicpropertiesmodel.cpp +++ b/src/plugins/qmldesigner/components/connectioneditor/dynamicpropertiesmodel.cpp @@ -118,7 +118,7 @@ QmlDesigner::PropertyName DynamicPropertiesModel::unusedProperty(const QmlDesign { QmlDesigner::PropertyName propertyName = "property"; int i = 0; - if (modelNode.metaInfo().isValid()) { + if (modelNode.isValid() && modelNode.metaInfo().isValid()) { while (true) { const QmlDesigner::PropertyName currentPropertyName = propertyName + QString::number(i).toLatin1(); if (!modelNode.hasProperty(currentPropertyName) && !modelNode.metaInfo().hasProperty(currentPropertyName)) @@ -545,6 +545,9 @@ void DynamicPropertiesModel::updateVariantProperty(int rowNumber) void DynamicPropertiesModel::addModelNode(const ModelNode &modelNode) { + if (!modelNode.isValid()) + return; + const QList bindingProperties = modelNode.bindingProperties(); for (const BindingProperty &bindingProperty : bindingProperties) { if (bindingProperty.isDynamic())