diff options
-rw-r--r-- | src/declarative/qml/qmlcompiler.cpp | 8 |
1 files changed, 3 insertions, 5 deletions
diff --git a/src/declarative/qml/qmlcompiler.cpp b/src/declarative/qml/qmlcompiler.cpp index c192c50..02cd813 100644 --- a/src/declarative/qml/qmlcompiler.cpp +++ b/src/declarative/qml/qmlcompiler.cpp @@ -645,12 +645,10 @@ void QmlCompiler::compileTree(Object *tree) output->imports = unit->imports; - if (tree->metatype) { - static_cast<QMetaObject &>(output->root) = *tree->metaObject(); + Q_ASSERT(tree->metatype); + static_cast<QMetaObject &>(output->root) = *tree->metaObject(); + if (!tree->metadata.isEmpty()) QmlEnginePrivate::get(engine)->registerCompositeType(output); - } else { - static_cast<QMetaObject &>(output->root) = *output->types.at(tree->type).metaObject(); - } } bool QmlCompiler::buildObject(Object *obj, const BindingContext &ctxt) |