summaryrefslogtreecommitdiffstats
path: root/src/definition.cpp
diff options
context:
space:
mode:
authoralbert-github <albert.tests@gmail.com>2018-11-03 18:05:30 (GMT)
committeralbert-github <albert.tests@gmail.com>2018-11-03 18:05:30 (GMT)
commitebbb2ca96a23951dbd82b976ace0d01470e8a9d6 (patch)
treed5a826a299b909b4bd08f339548f8fd19abfa0cd /src/definition.cpp
parent1b88f2417deadcd6c25a47bd6f37c524c61abefc (diff)
downloadDoxygen-ebbb2ca96a23951dbd82b976ace0d01470e8a9d6.zip
Doxygen-ebbb2ca96a23951dbd82b976ace0d01470e8a9d6.tar.gz
Doxygen-ebbb2ca96a23951dbd82b976ace0d01470e8a9d6.tar.bz2
issue_6594 using ingroup and anchor causes tests to disappear
The determination whether or not a reference item was in a list was based on the list name and it returned the first list item id. With multiple items only the first item was found. Checking whether an item should be appended is now based on the list name and the item id.
Diffstat (limited to 'src/definition.cpp')
-rw-r--r--src/definition.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/definition.cpp b/src/definition.cpp
index bd97f6d..0bd216b 100644
--- a/src/definition.cpp
+++ b/src/definition.cpp
@@ -1644,13 +1644,21 @@ void Definition::mergeRefItems(Definition *d)
m_impl->xrefListItems->setAutoDelete(TRUE);
}
QListIterator<ListItemInfo> slii(*xrefList);
+ QListIterator<ListItemInfo> mlii(*m_impl->xrefListItems);
ListItemInfo *lii;
+ ListItemInfo *mii;
for (slii.toFirst();(lii=slii.current());++slii)
{
- if (_getXRefListId(lii->type)==-1)
+ bool found = false;
+ for (mlii.toFirst();(mii=mlii.current());++mlii)
{
- m_impl->xrefListItems->append(new ListItemInfo(*lii));
+ if ((qstrcmp(lii->type,mii->type)==0) && (lii->itemId == mii->itemId))
+ {
+ found = true;
+ break;
+ }
}
+ if (!found) m_impl->xrefListItems->append(new ListItemInfo(*lii));
}
}
}