diff options
author | Dimitri van Heesch <doxygen@gmail.com> | 2020-01-26 15:07:32 (GMT) |
---|---|---|
committer | Dimitri van Heesch <doxygen@gmail.com> | 2020-01-26 15:07:32 (GMT) |
commit | 8d49c7c40e59970565872f666e2110755cac7828 (patch) | |
tree | e2fd095f7aa69d3768ad61ef54a8d99d3acc8cc3 /src/docgroup.cpp | |
parent | d0a664e8d46808df68fb6a29b2d76f4c6b22a85c (diff) | |
download | Doxygen-8d49c7c40e59970565872f666e2110755cac7828.zip Doxygen-8d49c7c40e59970565872f666e2110755cac7828.tar.gz Doxygen-8d49c7c40e59970565872f666e2110755cac7828.tar.bz2 |
Move DocGroup inside CommentScanner instead of using a global
Diffstat (limited to 'src/docgroup.cpp')
-rw-r--r-- | src/docgroup.cpp | 11 |
1 files changed, 5 insertions, 6 deletions
diff --git a/src/docgroup.cpp b/src/docgroup.cpp index fbdb842..d82d1b3 100644 --- a/src/docgroup.cpp +++ b/src/docgroup.cpp @@ -13,12 +13,14 @@ * */ +#include <atomic> #include "doxygen.h" #include "util.h" #include "entry.h" #include "message.h" #include "docgroup.h" +static std::atomic_int g_groupId; void DocGroup::enterFile(const char *fileName,int) { @@ -84,7 +86,7 @@ void DocGroup::leaveCompound(const char *,int,const char * /*name*/) m_compoundName.resize(0); } -int DocGroup::findExistingGroup(int &groupId,const MemberGroupInfo *info) +int DocGroup::findExistingGroup(const MemberGroupInfo *info) { //printf("findExistingGroup %s:%s\n",info->header.data(),info->compoundName.data()); QIntDictIterator<MemberGroupInfo> di(Doxygen::memGrpInfoDict); @@ -100,8 +102,7 @@ int DocGroup::findExistingGroup(int &groupId,const MemberGroupInfo *info) return (int)di.currentKey(); // put the item in this group } } - groupId++; // start new group - return groupId; + return ++g_groupId; // start new group } void DocGroup::open(Entry *e,const char *,int, bool implicit) @@ -118,12 +119,10 @@ void DocGroup::open(Entry *e,const char *,int, bool implicit) //printf(" membergroup id=%d %s\n",m_memberGroupId,m_memberGroupHeader.data()); if (m_memberGroupId==DOX_NOGROUP) // no group started yet { - static int curGroupId=0; - MemberGroupInfo *info = new MemberGroupInfo; info->header = m_memberGroupHeader.stripWhiteSpace(); info->compoundName = m_compoundName; - m_memberGroupId = findExistingGroup(curGroupId,info); + m_memberGroupId = findExistingGroup(info); //printf(" use membergroup %d\n",m_memberGroupId); Doxygen::memGrpInfoDict.insert(m_memberGroupId,info); |