diff options
Diffstat (limited to 'src/tools/qdoc/cppcodemarker.cpp')
-rw-r--r-- | src/tools/qdoc/cppcodemarker.cpp | 15 |
1 files changed, 15 insertions, 0 deletions
diff --git a/src/tools/qdoc/cppcodemarker.cpp b/src/tools/qdoc/cppcodemarker.cpp index 1546b5226e..4c1e84fe3c 100644 --- a/src/tools/qdoc/cppcodemarker.cpp +++ b/src/tools/qdoc/cppcodemarker.cpp @@ -807,6 +807,21 @@ QList<Section> CppCodeMarker::sections(const InnerNode *inner, } ++n; } + if (inner->isNamespace()) { + const NamespaceNode* ns = static_cast<const NamespaceNode*>(inner); + if (!ns->orphans().isEmpty()) { + foreach (Node* n, ns->orphans()) { + // Use inner as a temporary parent when inserting orphans + InnerNode* p = n->parent(); + n->setParent(const_cast<InnerNode*>(inner)); + if (n->isClass()) + insert(classes, n, style, status); + else if (n->isNamespace()) + insert(namespaces, n, style, status); + n->setParent(p); + } + } + } append(sections, namespaces); append(sections, classes); append(sections, types); |