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