diff options
author | Topi Reinio <topi.reinio@digia.com> | 2015-09-30 15:40:02 +0200 |
---|---|---|
committer | Topi Reiniƶ <topi.reinio@digia.com> | 2015-10-02 10:13:54 +0000 |
commit | 8058ab57581dcae569188c2c3dbc8667c34dd106 (patch) | |
tree | e0318d5e2317d891ef4ecc0990a58bf17bebb452 /src | |
parent | bbb2c95d7ad329a05a8f74d80ac69b3ca5851db1 (diff) |
qdoc: Resolve namespaces declared in index trees
QDoc never called resolveNamespaces() unless running in single-exec
mode.
This commit fixes that, and causes public namespaces documented in
other modules to be treated as 'seen', i.e, as if they were
declared locally.
Change-Id: Id1dda7aaea6c9bd38bbeb5992121575a1876cbf7
Task-number: QTBUG-48523
Reviewed-by: Martin Smith <martin.smith@digia.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/tools/qdoc/qdocdatabase.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/tools/qdoc/qdocdatabase.cpp b/src/tools/qdoc/qdocdatabase.cpp index 6312deacbf..acd11ff20b 100644 --- a/src/tools/qdoc/qdocdatabase.cpp +++ b/src/tools/qdoc/qdocdatabase.cpp @@ -1296,6 +1296,8 @@ void QDocDatabase::resolveIssues() { QDocIndexFiles::qdocIndexFiles()->resolveRelates(); QDocIndexFiles::destroyQDocIndexFiles(); } + if (Generator::generating()) + resolveNamespaces(); } void QDocDatabase::resolveStuff() @@ -1326,8 +1328,10 @@ void QDocDatabase::resolveNamespaces() int count = nmm_.remove(s); if (count > 1) { foreach (Node* n, nodes) { - if (n->isNamespace() && n->wasSeen()) { + // Treat public namespaces from index trees as 'seen' + if (n->isNamespace() && (n->wasSeen() || (n->isIndexNode() && n->access() == Node::Public))) { ns = static_cast<NamespaceNode*>(n); + ns->markSeen(); break; } } |