diff --git a/src/qdoc/generator.cpp b/src/qdoc/generator.cpp index c7831d1fdd25d798ca14cf4b4bf097f3799976b9..de9976502b3318623166135906cce0b765271115 100644 --- a/src/qdoc/generator.cpp +++ b/src/qdoc/generator.cpp @@ -677,6 +677,7 @@ QString Generator::fullDocumentLocation(const Node *node, bool useSubdir) case Node::QmlType: case Node::Page: case Node::Group: + case Node::HeaderFile: case Node::Module: case Node::JsModule: case Node::QmlModule: diff --git a/src/qdoc/helpprojectwriter.cpp b/src/qdoc/helpprojectwriter.cpp index 500052eb61da06337f59e2df5803e8aca4d12b94..226ca4154ce35d5a5ff6a61957d35c45843d9642 100644 --- a/src/qdoc/helpprojectwriter.cpp +++ b/src/qdoc/helpprojectwriter.cpp @@ -216,7 +216,10 @@ QStringList HelpProjectWriter::keywordDetails(const Node *node) const else details << node->name(); // "id" - details << node->parent()->name()+"::"+node->name(); + if (!node->isRelatedNonmember()) + details << node->parent()->name()+"::"+node->name(); + else + details << node->name(); } else if (node->isQmlType() || node->isQmlBasicType()) { details << node->name(); @@ -491,6 +494,9 @@ void HelpProjectWriter::generateSections(HelpProject &project, QXmlStreamWriter QSet<const Node*> childSet; const NodeList &children = aggregate->childNodes(); foreach (const Node *child, children) { + // Skip related non-members adopted by some other aggregate + if (child->parent() != aggregate) + continue; if (child->isIndexNode() || child->isPrivate()) continue; if (child->isTextPageNode()) { diff --git a/src/qdoc/node.cpp b/src/qdoc/node.cpp index 774d41f311ca21cb3aa7f4b32ce26777a3e8dd33..82bcd1b252e70e0752e49196294e4b1d7c89000b 100644 --- a/src/qdoc/node.cpp +++ b/src/qdoc/node.cpp @@ -3101,11 +3101,11 @@ QString Node::fullDocumentName() const if (n->isTextPageNode()) break; - // Examine the parent node if one exists. - if (n->parent()) - n = n->parent(); - else + // Examine the parent if the node is a member + if (!n->parent() || n->isRelatedNonmember()) break; + + n = n->parent(); } while (true); // Create a name based on the type of the ancestor node.