diff options
author | Simon Hausmann <simon.hausmann@digia.com> | 2014-01-17 16:40:30 +0100 |
---|---|---|
committer | The Qt Project <gerrit-noreply@qt-project.org> | 2014-01-20 15:10:06 +0100 |
commit | 25c12c94dfb178b4dd4f026cb6f0b17c3d43be6f (patch) | |
tree | 86f27d8515b13c7ffbe107c94bda8d39d64d218e /src | |
parent | 9d8e0365eb05f7a13a23fdd10e1c30a3c19a2064 (diff) |
[new compiler] Fix implicit component determination for composite types
We want to search every object for properties that implicitly define
components, unless the object itself is a Component. That means if there's a
QQmlType and that meta-object is QQmlComponent's or there's no QQmlType because
it's a composite type.
Fixes QtQuickControls parsing.
Change-Id: I3fc7c2aff0c83ceada0c6772a02eff40a22777c9
Reviewed-by: Lars Knoll <lars.knoll@digia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/qml/compiler/qqmltypecompiler.cpp | 4 |
1 files changed, 1 insertions, 3 deletions
diff --git a/src/qml/compiler/qqmltypecompiler.cpp b/src/qml/compiler/qqmltypecompiler.cpp index 00fc9c5925..9232aef5c8 100644 --- a/src/qml/compiler/qqmltypecompiler.cpp +++ b/src/qml/compiler/qqmltypecompiler.cpp @@ -878,9 +878,7 @@ bool QQmlComponentAndAliasResolver::resolve() QQmlCompiledData::TypeReference *tref = resolvedTypes->value(obj->inheritedTypeNameIndex); Q_ASSERT(tref); - if (!tref->type) - continue; - if (tref->type->metaObject() != &QQmlComponent::staticMetaObject) { + if (!tref->type || tref->type->metaObject() != &QQmlComponent::staticMetaObject) { findAndRegisterImplicitComponents(obj, i); continue; } |