summaryrefslogtreecommitdiff
path: root/src/qdoc/node.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/qdoc/node.cpp')
-rw-r--r--src/qdoc/node.cpp9
1 files changed, 6 insertions, 3 deletions
diff --git a/src/qdoc/node.cpp b/src/qdoc/node.cpp
index a4bc2abff..af559c93e 100644
--- a/src/qdoc/node.cpp
+++ b/src/qdoc/node.cpp
@@ -1244,12 +1244,15 @@ void Aggregate::normalizeOverloads()
/*!
Returns a const reference to the list of child nodes of this
- aggregate that are not function nodes.
+ aggregate that are not function nodes. Duplicate nodes are
+ removed from the list.
*/
const NodeList &Aggregate::nonfunctionList()
{
- if (nonfunctionList_.isEmpty() || (nonfunctionList_.size() != nonfunctionMap_.size()))
- nonfunctionList_ = nonfunctionMap_.values();
+ std::list<Node*> list = nonfunctionMap_.values().toStdList();
+ list.sort();
+ list.unique();
+ nonfunctionList_ = NodeList::fromStdList(list);
return nonfunctionList_;
}