QmlDesigner: Fix crashes if selected node is invalidated

Change-Id: Ie85e9b023bca0dccd9c032e0d32e1462d0e77857
Reviewed-by: Mahmoud Badri <mahmoud.badri@qt.io>
Reviewed-by: <github-actions-qt-creator@cristianadam.eu>
This commit is contained in:
Miikka Heikkinen
2022-09-06 09:57:20 +03:00
parent c714e5ba81
commit a9576256b8

View File

@@ -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<BindingProperty> bindingProperties = modelNode.bindingProperties();
for (const BindingProperty &bindingProperty : bindingProperties) {
if (bindingProperty.isDynamic())