From 1bdae0815d20f9a93c57b14f52dd69a808b739c6 Mon Sep 17 00:00:00 2001
From: Kai Koehne <kai.koehne@nokia.com>
Date: Thu, 25 Mar 2010 11:37:18 +0100
Subject: [PATCH] Fix crash when loading file with attached properties

The metatype system doesn't know about attached properties,
and asserted when trying to call isListProperty().

Let's just assume that for such properties, "a : b" actually
means a is not of type QList.

Reviewed-by: Erik Verbruggen
---
 src/plugins/qmldesigner/core/model/texttomodelmerger.cpp | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/plugins/qmldesigner/core/model/texttomodelmerger.cpp b/src/plugins/qmldesigner/core/model/texttomodelmerger.cpp
index 8940b755157..11bbaed7115 100644
--- a/src/plugins/qmldesigner/core/model/texttomodelmerger.cpp
+++ b/src/plugins/qmldesigner/core/model/texttomodelmerger.cpp
@@ -391,7 +391,8 @@ void TextToModelMerger::syncNode(ModelNode &modelNode,
             } else {
                 if (isValidPropertyForNode(modelNode, astPropertyName)) {
                     AbstractProperty modelProperty = modelNode.property(astPropertyName);
-                    if (modelProperty.metaInfo().isListProperty()) {
+                    if (modelProperty.metaInfo().isValid()
+                        && modelProperty.metaInfo().isListProperty()) {
                         syncArrayProperty(modelProperty, QList<QmlJS::AST::UiObjectMember*>() << member, context, differenceHandler);
                     } else {
                         syncNodeProperty(modelProperty, binding, context, differenceHandler);
-- 
GitLab