From b1522ba5c8e79bc9c160ad37e461daaf415f6344 Mon Sep 17 00:00:00 2001 From: Christian Kamm <christian.d.kamm@nokia.com> Date: Tue, 23 Feb 2010 12:34:52 +0100 Subject: [PATCH] Fix semantic checks not being applied to the Qml root object. By always setting the scope object, even if it is identical to the root object. Done-with: Erik Verbruggen --- src/libs/qmljs/qmljsinterpreter.cpp | 2 +- src/libs/qmljs/qmljsscopebuilder.cpp | 3 +-- 2 files changed, 2 insertions(+), 3 deletions(-) diff --git a/src/libs/qmljs/qmljsinterpreter.cpp b/src/libs/qmljs/qmljsinterpreter.cpp index 54f68232424..9a287b44e95 100644 --- a/src/libs/qmljs/qmljsinterpreter.cpp +++ b/src/libs/qmljs/qmljsinterpreter.cpp @@ -771,7 +771,7 @@ void ScopeChain::update() foreach (QmlComponentChain *parent, qmlComponentScope.instantiatingComponents) parent->add(&_all); - if (qmlComponentScope.rootObject) + if (qmlComponentScope.rootObject && ! qmlScopeObjects.contains(qmlComponentScope.rootObject)) _all += qmlComponentScope.rootObject; _all += qmlScopeObjects; _all += qmlComponentScope.functionScopes; diff --git a/src/libs/qmljs/qmljsscopebuilder.cpp b/src/libs/qmljs/qmljsscopebuilder.cpp index 4f3f6fa1233..18c8dcf1b8c 100644 --- a/src/libs/qmljs/qmljsscopebuilder.cpp +++ b/src/libs/qmljs/qmljsscopebuilder.cpp @@ -68,8 +68,7 @@ void ScopeBuilder::setQmlScopeObject(Node *node) const ObjectValue *scopeObject = _doc->bind()->findQmlObject(node); if (scopeObject) { - if (scopeObject != scopeChain.qmlComponentScope.rootObject) - scopeChain.qmlScopeObjects += scopeObject; + scopeChain.qmlScopeObjects += scopeObject; } #ifndef NO_DECLARATIVE_BACKEND -- GitLab