qdoc: Fix a regression with QML node attributes written to index files
QDoc needs to write the following attributes to index files: For qmlclass: qml-module-name, qml-base-type For qmlmodule: qml-module-name, qml-module-version Because of a regression introduced in Qt 5.5, no QML module name or base type information were written for QML types, resulting in linking issues. Change-Id: I69e616dadfc9ede389bc05e16acb831f1e15bac5 Task-number: QTBUG-48479 Reviewed-by: Martin Smith <martin.smith@digia.com>
This commit is contained in:
parent
17f649ab29
commit
e03bcdea62
@ -946,27 +946,27 @@ bool QDocIndexFiles::generateIndexSection(QXmlStreamWriter& writer,
|
|||||||
}
|
}
|
||||||
|
|
||||||
writer.writeAttribute("name", objName);
|
writer.writeAttribute("name", objName);
|
||||||
if (node->isQmlModule()) {
|
|
||||||
logicalModuleName = node->logicalModuleName();
|
// Write module and base type info for QML/JS types
|
||||||
logicalModuleVersion = node->logicalModuleVersion();
|
if (node->type() == Node::QmlType || node->type() == Node::QmlModule) {
|
||||||
if (!logicalModuleName.isEmpty()) {
|
QString baseNameAttr("qml-base-type");
|
||||||
writer.writeAttribute("qml-module-name", logicalModuleName);
|
QString moduleNameAttr("qml-module-name");
|
||||||
if (node->isQmlModule())
|
QString moduleVerAttr("qml-module-version");
|
||||||
writer.writeAttribute("qml-module-version", logicalModuleVersion);
|
if (node->isJsNode()) {
|
||||||
if (!qmlFullBaseName.isEmpty())
|
baseNameAttr = "js-base-type";
|
||||||
writer.writeAttribute("qml-base-type", qmlFullBaseName);
|
moduleNameAttr = "js-module-name";
|
||||||
|
moduleVerAttr = "js-module-version";
|
||||||
}
|
}
|
||||||
}
|
if (node->type() == Node::QmlModule) {
|
||||||
else if (node->isJsModule()) {
|
logicalModuleName = node->logicalModuleName();
|
||||||
logicalModuleName = node->logicalModuleName();
|
logicalModuleVersion = node->logicalModuleVersion();
|
||||||
logicalModuleVersion = node->logicalModuleVersion();
|
|
||||||
if (!logicalModuleName.isEmpty()) {
|
|
||||||
writer.writeAttribute("js-module-name", logicalModuleName);
|
|
||||||
if (node->isQmlModule())
|
|
||||||
writer.writeAttribute("js-module-version", logicalModuleVersion);
|
|
||||||
if (!qmlFullBaseName.isEmpty())
|
|
||||||
writer.writeAttribute("js-base-type", qmlFullBaseName);
|
|
||||||
}
|
}
|
||||||
|
if (!logicalModuleName.isEmpty())
|
||||||
|
writer.writeAttribute(moduleNameAttr, logicalModuleName);
|
||||||
|
if (!logicalModuleVersion.isEmpty())
|
||||||
|
writer.writeAttribute(moduleVerAttr, logicalModuleVersion);
|
||||||
|
if (!qmlFullBaseName.isEmpty())
|
||||||
|
writer.writeAttribute(baseNameAttr, qmlFullBaseName);
|
||||||
}
|
}
|
||||||
|
|
||||||
QString href;
|
QString href;
|
||||||
|
Loading…
x
Reference in New Issue
Block a user