diff options
author | Lars Knoll <lars.knoll@theqtcompany.com> | 2015-11-24 10:13:58 +0100 |
---|---|---|
committer | Jani Heikkinen <jani.heikkinen@theqtcompany.com> | 2015-11-27 05:40:03 +0000 |
commit | a34513c03e626d2738f576c47697d3e009f8f4d6 (patch) | |
tree | a53cc034f85ebc6b0060cda8ea671ca7de6f5f18 | |
parent | 0b51b08fcdaa37611488a6c765f6801726f127d0 (diff) |
Don't try to resolve id values or singleton member as properties
Change 1a1f10806c901bc10483370a932d41af0c9629cd started mapping
id values to member expressions in the IR. But these should of
course not get resolved against local properties of the object.
Change-Id: I56bef738ec60b818d7af86bb1aa6d37b2c01d3fd
Task-number: QTBUG-49484
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Reviewed-by: Volker Krause <volker.krause@kdab.com>
Reviewed-by: Anton Kreuzkamp <anton.kreuzkamp@kdab.com>
-rw-r--r-- | src/qml/compiler/qqmlirbuilder.cpp | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/qml/compiler/qqmlirbuilder.cpp b/src/qml/compiler/qqmlirbuilder.cpp index 6fef1ae372..16c4cb28ed 100644 --- a/src/qml/compiler/qqmlirbuilder.cpp +++ b/src/qml/compiler/qqmlirbuilder.cpp @@ -1693,7 +1693,8 @@ static QV4::IR::Type resolveMetaObjectProperty(QQmlEnginePrivate *qmlEngine, QV4 } } - if (qmlEngine && !(resolver->flags & LookupsExcludeProperties)) { + if (member->kind != QV4::IR::Member::MemberOfIdObjectsArray && member->kind != QV4::IR::Member::MemberOfSingletonObject && + qmlEngine && !(resolver->flags & LookupsExcludeProperties)) { QQmlPropertyData *property = member->property; if (!property && metaObject) { if (QQmlPropertyData *candidate = metaObject->property(*member->name, /*object*/0, /*context*/0)) { |