diff options
Diffstat (limited to 'src/qdoc/cppcodeparser.cpp')
-rw-r--r-- | src/qdoc/cppcodeparser.cpp | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/src/qdoc/cppcodeparser.cpp b/src/qdoc/cppcodeparser.cpp index 0ea135cce..e4e423982 100644 --- a/src/qdoc/cppcodeparser.cpp +++ b/src/qdoc/cppcodeparser.cpp @@ -813,9 +813,11 @@ void CppCodeParser::processQmlProperties(const Doc& doc, bool attached = ((topic == COMMAND_QMLATTACHEDPROPERTY) || (topic == COMMAND_JSATTACHEDPROPERTY)); if (splitQmlPropertyArg(arg, type, module, qmlTypeName, property)) { - qmlType = qdb_->findQmlType(module, qmlTypeName); - if (qmlType) { - if (qmlType->hasQmlProperty(property, attached) != 0) { + Aggregate* aggregate = qdb_->findQmlType(module, qmlTypeName); + if (!aggregate) + aggregate = qdb_->findQmlBasicType(module, qmlTypeName); + if (aggregate) { + if (aggregate->hasQmlProperty(property, attached) != 0) { QString msg = tr("QML property documented multiple times: '%1'").arg(arg); doc.startLocation().warning(msg); } @@ -826,7 +828,7 @@ void CppCodeParser::processQmlProperties(const Doc& doc, qpn->setGenus(Node::JS); } else { - qpn = new QmlPropertyNode(qmlType, property, type, attached); + qpn = new QmlPropertyNode(aggregate, property, type, attached); qpn->setLocation(doc.startLocation()); if (jsProps) qpn->setGenus(Node::JS); |