summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/qdoc/generator.cpp1
-rw-r--r--src/qdoc/helpprojectwriter.cpp8
-rw-r--r--src/qdoc/node.cpp8
3 files changed, 12 insertions, 5 deletions
diff --git a/src/qdoc/generator.cpp b/src/qdoc/generator.cpp
index c7831d1fd..de9976502 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 500052eb6..226ca4154 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 774d41f31..82bcd1b25 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.