From 25c12c94dfb178b4dd4f026cb6f0b17c3d43be6f Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Fri, 17 Jan 2014 16:40:30 +0100 Subject: [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 --- src/qml/compiler/qqmltypecompiler.cpp | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) (limited to 'src/qml/compiler/qqmltypecompiler.cpp') 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; } -- cgit v1.2.3