From 32bb7bffc052ea33925c58870a5f0f7333752e5a Mon Sep 17 00:00:00 2001 From: Christian Kamm <christian.d.kamm@nokia.com> Date: Mon, 30 Aug 2010 13:31:50 +0200 Subject: [PATCH] QmlJS: Add missing null checks before using scopeChain().qmlTypes. --- src/libs/qmljs/qmljscheck.cpp | 3 ++- .../qmldesigner/designercore/model/texttomodelmerger.cpp | 3 ++- src/plugins/qmljseditor/qmljscodecompletion.cpp | 3 ++- 3 files changed, 6 insertions(+), 3 deletions(-) diff --git a/src/libs/qmljs/qmljscheck.cpp b/src/libs/qmljs/qmljscheck.cpp index 147852fe325..ae6ed1b3354 100644 --- a/src/libs/qmljs/qmljscheck.cpp +++ b/src/libs/qmljs/qmljscheck.cpp @@ -309,7 +309,8 @@ const Value *Check::checkScopeObjectMember(const UiQualifiedId *id) bool isAttachedProperty = false; if (! propertyName.isEmpty() && propertyName[0].isUpper()) { isAttachedProperty = true; - scopeObjects += _context.scopeChain().qmlTypes; + if (const ObjectValue *qmlTypes = _context.scopeChain().qmlTypes) + scopeObjects += qmlTypes; } if (scopeObjects.isEmpty()) diff --git a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp index 97184c97925..59b15222018 100644 --- a/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp +++ b/src/plugins/qmldesigner/designercore/model/texttomodelmerger.cpp @@ -256,7 +256,8 @@ public: bool isAttachedProperty = false; if (! propertyName.isEmpty() && propertyName[0].isUpper()) { isAttachedProperty = true; - scopeObjects += m_context->scopeChain().qmlTypes; + if (const Interpreter::ObjectValue *qmlTypes = m_context->scopeChain().qmlTypes) + scopeObjects += qmlTypes; } if (scopeObjects.isEmpty()) diff --git a/src/plugins/qmljseditor/qmljscodecompletion.cpp b/src/plugins/qmljseditor/qmljscodecompletion.cpp index c85d3e44b3f..423e8253175 100644 --- a/src/plugins/qmljseditor/qmljscodecompletion.cpp +++ b/src/plugins/qmljseditor/qmljscodecompletion.cpp @@ -730,7 +730,8 @@ int CodeCompletion::startCompletion(TextEditor::ITextEditable *editor) m_completions.append(idPropertyCompletion); addCompletionsPropertyLhs(enumerateProperties(qmlScopeType), symbolIcon, PropertyOrder); - addCompletions(enumerateProperties(context->scopeChain().qmlTypes), symbolIcon, TypeOrder); + if (const Interpreter::ObjectValue *qmlTypes = context->scopeChain().qmlTypes) + addCompletions(enumerateProperties(qmlTypes), symbolIcon, TypeOrder); if (ScopeBuilder::isPropertyChangesObject(context, qmlScopeType) && context->scopeChain().qmlScopeObjects.size() == 2) { -- GitLab