From 64cddc88579401c667431fbfa5210e6e735603eb Mon Sep 17 00:00:00 2001 From: Christian Kamm Date: Thu, 3 Nov 2011 10:12:16 +0100 Subject: [PATCH] QmlJS: Fixed attached objects. Task-number: QTCREATORBUG-6450 Change-Id: Idd8e2ec3550190a137dbf0fe452c8488fb3fe1ad Reviewed-by: Fawzi Mohamed --- src/libs/qmljs/qmljsinterpreter.cpp | 20 +++++++------------- src/libs/qmljs/qmljsinterpreter.h | 4 ---- 2 files changed, 7 insertions(+), 17 deletions(-) diff --git a/src/libs/qmljs/qmljsinterpreter.cpp b/src/libs/qmljs/qmljsinterpreter.cpp index f7c63359bf..9aafaeea91 100644 --- a/src/libs/qmljs/qmljsinterpreter.cpp +++ b/src/libs/qmljs/qmljsinterpreter.cpp @@ -164,7 +164,6 @@ QmlObjectValue::QmlObjectValue(FakeMetaObject::ConstPtr metaObject, const QStrin const ComponentVersion &importVersion, int metaObjectRevision, ValueOwner *valueOwner) : ObjectValue(valueOwner), - _attachedType(0), _metaObject(metaObject), _moduleName(packageName), _componentVersion(componentVersion), @@ -258,8 +257,13 @@ void QmlObjectValue::processMembers(MemberProcessor *processor) const } } - if (_attachedType) - _attachedType->processMembers(processor); + // look into attached types + const QString &attachedTypeName = _metaObject->attachedTypeName(); + if (!attachedTypeName.isEmpty()) { + const QmlObjectValue *attachedType = valueOwner()->cppQmlTypes().objectByCppName(attachedTypeName); + if (attachedType) + attachedType->processMembers(processor); + } ObjectValue::processMembers(processor); } @@ -354,16 +358,6 @@ QList QmlObjectValue::prototypes() const return protos; } -const QmlObjectValue *QmlObjectValue::attachedType() const -{ - return _attachedType; -} - -void QmlObjectValue::setAttachedType(QmlObjectValue *value) -{ - _attachedType = value; -} - FakeMetaObject::ConstPtr QmlObjectValue::metaObject() const { return _metaObject; diff --git a/src/libs/qmljs/qmljsinterpreter.h b/src/libs/qmljs/qmljsinterpreter.h index 8b74624f97..1babae83f0 100644 --- a/src/libs/qmljs/qmljsinterpreter.h +++ b/src/libs/qmljs/qmljsinterpreter.h @@ -430,9 +430,6 @@ public: const QmlObjectValue *prototype() const; QList prototypes() const; - const QmlObjectValue *attachedType() const; - void setAttachedType(QmlObjectValue *value); - LanguageUtils::FakeMetaObject::ConstPtr metaObject() const; QString moduleName() const; @@ -453,7 +450,6 @@ protected: bool isDerivedFrom(LanguageUtils::FakeMetaObject::ConstPtr base) const; private: - QmlObjectValue *_attachedType; LanguageUtils::FakeMetaObject::ConstPtr _metaObject; const QString _moduleName; // _componentVersion is the version of the export -- GitLab