diff options
author | Dimitri van Heesch <dimitri@stack.nl> | 2015-01-03 22:33:28 (GMT) |
---|---|---|
committer | Dimitri van Heesch <dimitri@stack.nl> | 2015-01-03 22:33:28 (GMT) |
commit | b75af9180ae53f7c7abb94ccf906333169247785 (patch) | |
tree | a3e1113380e53d7fd40c95135d163be4c65bb3f8 /src/groupdef.cpp | |
parent | fcc8e1f75c7c1a2ccb5ab6e42d3b6843589dc764 (diff) | |
download | Doxygen-b75af9180ae53f7c7abb94ccf906333169247785.zip Doxygen-b75af9180ae53f7c7abb94ccf906333169247785.tar.gz Doxygen-b75af9180ae53f7c7abb94ccf906333169247785.tar.bz2 |
Bug 742235 - Bogus message with addtogroup
Diffstat (limited to 'src/groupdef.cpp')
-rw-r--r-- | src/groupdef.cpp | 26 |
1 files changed, 9 insertions, 17 deletions
diff --git a/src/groupdef.cpp b/src/groupdef.cpp index 5c08048..64a3902 100644 --- a/src/groupdef.cpp +++ b/src/groupdef.cpp @@ -508,29 +508,21 @@ void GroupDef::removeMember(MemberDef *md) } } -bool GroupDef::containsGroup(const GroupDef *def) +bool GroupDef::findGroup(const GroupDef *def) const { if (this==def) { return TRUE; } - else if (groupList->find(def)>=0) + else if (groupList) { - return TRUE; - } - else // look for subgroups as well - { - GroupList *groups = partOfGroups(); - if (groups) + GroupListIterator it(*groupList); + GroupDef *gd; + for (;(gd=it.current());++it) { - GroupListIterator it(*groups); - GroupDef *gd; - for (;(gd=it.current());++it) + if (gd->findGroup(def)) { - if (gd->containsGroup(def)) - { - return TRUE; - } + return TRUE; } } } @@ -1377,12 +1369,12 @@ void addGroupToGroups(Entry *root,GroupDef *subGroup) warn(root->fileName,root->startLine,"Refusing to add group %s to itself", gd->name().data()); } - else if (gd->containsGroup(subGroup)) + else if (subGroup->findGroup(gd)) { warn(root->fileName,root->startLine,"Refusing to add group %s to group %s, since the latter is already a " "subgroup of the former\n", subGroup->name().data(),gd->name().data()); } - else + else if (!gd->findGroup(subGroup)) { gd->addGroup(subGroup); subGroup->makePartOfGroup(gd); |