diff --git a/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp b/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp index 4abf7d28023..01817a97e63 100644 --- a/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp +++ b/src/plugins/qmldesigner/designercore/metainfo/nodemetainfo.cpp @@ -88,11 +88,17 @@ static TypeName resolveTypeName(const ASTPropertyReference *ref, const ContextPt if (ref->ast()->propertyToken.isValid()) { type = ref->ast()->memberType->name.toUtf8(); - if (type == "alias") { - const Value *value = context->lookupReference(ref); + const Value *value = context->lookupReference(ref); - if (!value) - return type; + if (!value) + return type; + + if (const CppComponentValue * componentObjectValue = value->asCppComponentValue()) { + type = componentObjectValue->className().toUtf8(); + dotProperties = getObjectTypes(componentObjectValue, context); + } + + if (type == "alias") { if (const ASTObjectValue * astObjectValue = value->asAstObjectValue()) { if (astObjectValue->typeName()) {