summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authoralbert-github <albert.tests@gmail.com>2019-02-13 13:34:22 (GMT)
committeralbert-github <albert.tests@gmail.com>2019-02-13 13:34:22 (GMT)
commit1de12cd29aa72999f64bc93647a2406c6e765a5c (patch)
treee30747dc6c583dc61ced7c11074a73a3a77e7d73
parent9a05fda1c0aef229252d133987f866e0f6718eb0 (diff)
downloadDoxygen-1de12cd29aa72999f64bc93647a2406c6e765a5c.zip
Doxygen-1de12cd29aa72999f64bc93647a2406c6e765a5c.tar.gz
Doxygen-1de12cd29aa72999f64bc93647a2406c6e765a5c.tar.bz2
Bug 399222 - SORT_BRIEF_DOCS produces wrong results
Grouped brief (with `\{ ..\}` descriptions were not sorted when `SORT_BRIEF_DOCS` was set, the detailed documentation was sorted already.
-rw-r--r--src/filedef.cpp12
-rw-r--r--src/membergroup.cpp3
2 files changed, 15 insertions, 0 deletions
diff --git a/src/filedef.cpp b/src/filedef.cpp
index f9f68d1..187b665 100644
--- a/src/filedef.cpp
+++ b/src/filedef.cpp
@@ -1966,6 +1966,18 @@ void FileDef::sortMemberLists()
{
if (ml->needsSorting()) { ml->sort(); ml->setNeedsSorting(FALSE); }
}
+
+ if (m_memberGroupSDict)
+ {
+ MemberGroupSDict::Iterator mgli(*m_memberGroupSDict);
+ MemberGroup *mg;
+ for (;(mg=mgli.current());++mgli)
+ {
+ MemberList *mlg = mg->members();
+ if (mlg->needsSorting()) { mlg->sort(); mlg->setNeedsSorting(FALSE); }
+ }
+ }
+
}
MemberList *FileDef::getMemberList(MemberListType lt) const
diff --git a/src/membergroup.cpp b/src/membergroup.cpp
index 5ee47ab..840c62b 100644
--- a/src/membergroup.cpp
+++ b/src/membergroup.cpp
@@ -44,8 +44,11 @@ MemberGroup::MemberGroup()
MemberGroup::MemberGroup(Definition *parent,
int id,const char *hdr,const char *d,const char *docFile,int docLine)
{
+ static bool sortBriefDocs = Config_getBool(SORT_BRIEF_DOCS);
+
//printf("New member group id=%d header=%s desc=%s\n",id,hdr,d);
memberList = new MemberList(MemberListType_memberGroup);
+ memberList->setNeedsSorting(sortBriefDocs); // detailed sections are already sorted elsewhere.
grpId = id;
grpHeader = hdr;
doc = d;