forked from qt-creator/qt-creator
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:
@@ -118,7 +118,7 @@ QmlDesigner::PropertyName DynamicPropertiesModel::unusedProperty(const QmlDesign
|
|||||||
{
|
{
|
||||||
QmlDesigner::PropertyName propertyName = "property";
|
QmlDesigner::PropertyName propertyName = "property";
|
||||||
int i = 0;
|
int i = 0;
|
||||||
if (modelNode.metaInfo().isValid()) {
|
if (modelNode.isValid() && modelNode.metaInfo().isValid()) {
|
||||||
while (true) {
|
while (true) {
|
||||||
const QmlDesigner::PropertyName currentPropertyName = propertyName + QString::number(i).toLatin1();
|
const QmlDesigner::PropertyName currentPropertyName = propertyName + QString::number(i).toLatin1();
|
||||||
if (!modelNode.hasProperty(currentPropertyName) && !modelNode.metaInfo().hasProperty(currentPropertyName))
|
if (!modelNode.hasProperty(currentPropertyName) && !modelNode.metaInfo().hasProperty(currentPropertyName))
|
||||||
@@ -545,6 +545,9 @@ void DynamicPropertiesModel::updateVariantProperty(int rowNumber)
|
|||||||
|
|
||||||
void DynamicPropertiesModel::addModelNode(const ModelNode &modelNode)
|
void DynamicPropertiesModel::addModelNode(const ModelNode &modelNode)
|
||||||
{
|
{
|
||||||
|
if (!modelNode.isValid())
|
||||||
|
return;
|
||||||
|
|
||||||
const QList<BindingProperty> bindingProperties = modelNode.bindingProperties();
|
const QList<BindingProperty> bindingProperties = modelNode.bindingProperties();
|
||||||
for (const BindingProperty &bindingProperty : bindingProperties) {
|
for (const BindingProperty &bindingProperty : bindingProperties) {
|
||||||
if (bindingProperty.isDynamic())
|
if (bindingProperty.isDynamic())
|
||||||
|
Reference in New Issue
Block a user