From 8013eeadc9a8c47a3f5c67a706b6ddcba4e87184 Mon Sep 17 00:00:00 2001
From: Thomas Hartmann <Thomas.Hartmann@nokia.com>
Date: Thu, 25 Nov 2010 09:44:52 +0100
Subject: [PATCH] QmlDesigner.rewriter: crash fix

These sanity checks are needed
---
 .../qmldesigner/designercore/model/texttomodelmerger.cpp | 9 ++++++---
 1 file changed, 6 insertions(+), 3 deletions(-)

diff --git a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp
index 1850ed7e261..b0426c91460 100644
--- a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp
+++ b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp
@@ -399,7 +399,8 @@ public:
             return hasQuotes ? QVariant(cleanedValue) : cleverConvert(cleanedValue);
         }
 
-        containingObject->lookupMember(name, m_context, &containingObject);
+        if (containingObject)
+            containingObject->lookupMember(name, m_context, &containingObject);
 
         if (const Interpreter::QmlObjectValue * qmlObject = dynamic_cast<const Interpreter::QmlObjectValue *>(containingObject)) {
             const QString typeName = qmlObject->propertyType(name);
@@ -443,7 +444,8 @@ public:
             return QVariant();
         }
 
-        containingObject->lookupMember(name, m_context, &containingObject);
+        if (containingObject)
+            containingObject->lookupMember(name, m_context, &containingObject);
         const Interpreter::QmlObjectValue * lhsQmlObject = dynamic_cast<const Interpreter::QmlObjectValue *>(containingObject);
         if (!lhsQmlObject)
             return QVariant();
@@ -465,7 +467,8 @@ public:
                 rhsValueName = memberExp->name->asString();
         }
 
-        rhsValueObject->lookupMember(rhsValueName, m_context, &rhsValueObject);
+        if (rhsValueObject)
+            rhsValueObject->lookupMember(rhsValueName, m_context, &rhsValueObject);
 
         const Interpreter::QmlObjectValue *rhsQmlObjectValue = dynamic_cast<const Interpreter::QmlObjectValue *>(rhsValueObject);
         if (!rhsQmlObjectValue)
-- 
GitLab