summaryrefslogtreecommitdiffstats
path: root/src/groupdef.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2006-09-10 20:49:41 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2006-09-10 20:49:41 (GMT)
commitb1dbef9886c3bf49050a5f49b9ae9d12021e4b50 (patch)
treefe67587a09765b41e54254d65f53b6c9352816e9 /src/groupdef.cpp
parent7b814d4aaf6321e05503a392c163537fd618066c (diff)
downloadDoxygen-b1dbef9886c3bf49050a5f49b9ae9d12021e4b50.zip
Doxygen-b1dbef9886c3bf49050a5f49b9ae9d12021e4b50.tar.gz
Doxygen-b1dbef9886c3bf49050a5f49b9ae9d12021e4b50.tar.bz2
Release-1.4.7-20060910
Diffstat (limited to 'src/groupdef.cpp')
-rw-r--r--src/groupdef.cpp27
1 files changed, 17 insertions, 10 deletions
diff --git a/src/groupdef.cpp b/src/groupdef.cpp
index 993b213..13a5681 100644
--- a/src/groupdef.cpp
+++ b/src/groupdef.cpp
@@ -244,10 +244,13 @@ bool GroupDef::insertMember(MemberDef *md,bool docOnly)
// both inside a file => definition and declaration do not have to be in the same file
(srcMd->getOuterScope()->definitionType()==Definition::TypeFile &&
md->getOuterScope()->definitionType()==Definition::TypeFile);
+
+ LockingPtr<ArgumentList> srcMdAl = srcMd->argumentList();
+ LockingPtr<ArgumentList> mdAl = md->argumentList();
if (srcMd->isFunction() && md->isFunction() &&
- matchArguments2(srcMd->getOuterScope(),srcMd->getFileDef(),srcMd->argumentList(),
- md->getOuterScope(),md->getFileDef(),md->argumentList(),
+ matchArguments2(srcMd->getOuterScope(),srcMd->getFileDef(),srcMdAl.pointer(),
+ md->getOuterScope(),md->getFileDef(),mdAl.pointer(),
TRUE
) &&
sameScope
@@ -467,7 +470,8 @@ void GroupDef::addGroup(const GroupDef *def)
bool GroupDef::isASubGroup() const
{
- return partOfGroups() && partOfGroups()->count()!=0;
+ LockingPtr<GroupList> groups = partOfGroups();
+ return groups!=0 && groups->count()!=0;
}
int GroupDef::countMembers() const
@@ -890,7 +894,7 @@ void addClassToGroups(Entry *root,ClassDef *cd)
for (;(g=gli.current());++gli)
{
GroupDef *gd=0;
- if (!g->groupname.isEmpty() && (gd=Doxygen::groupSDict[g->groupname]))
+ if (!g->groupname.isEmpty() && (gd=Doxygen::groupSDict->find(g->groupname)))
{
gd->addClass(cd);
cd->makePartOfGroup(gd);
@@ -908,7 +912,7 @@ void addNamespaceToGroups(Entry *root,NamespaceDef *nd)
{
GroupDef *gd=0;
//printf("group `%s'\n",s->data());
- if (!g->groupname.isEmpty() && (gd=Doxygen::groupSDict[g->groupname]))
+ if (!g->groupname.isEmpty() && (gd=Doxygen::groupSDict->find(g->groupname)))
{
gd->addNamespace(nd);
nd->makePartOfGroup(gd);
@@ -926,7 +930,7 @@ void addDirToGroups(Entry *root,DirDef *dd)
{
GroupDef *gd=0;
//printf("group `%s'\n",g->groupname.data());
- if (!g->groupname.isEmpty() && (gd=Doxygen::groupSDict[g->groupname]))
+ if (!g->groupname.isEmpty() && (gd=Doxygen::groupSDict->find(g->groupname)))
{
gd->addDir(dd);
dd->makePartOfGroup(gd);
@@ -944,7 +948,7 @@ void addGroupToGroups(Entry *root,GroupDef *subGroup)
for (;(g=gli.current());++gli)
{
GroupDef *gd=0;
- if (!g->groupname.isEmpty() && (gd=Doxygen::groupSDict[g->groupname]) &&
+ if (!g->groupname.isEmpty() && (gd=Doxygen::groupSDict->find(g->groupname)) &&
!gd->containsGroup(subGroup) )
{
gd->addGroup(subGroup);
@@ -973,7 +977,7 @@ void addMemberToGroups(Entry *root,MemberDef *md)
{
GroupDef *gd=0;
if (!g->groupname.isEmpty() &&
- (gd=Doxygen::groupSDict[g->groupname]) &&
+ (gd=Doxygen::groupSDict->find(g->groupname)) &&
g->pri >= pri)
{
if (fgd && gd!=fgd && g->pri==pri)
@@ -1067,7 +1071,7 @@ void addExampleToGroups(Entry *root,PageDef *eg)
for (;(g=gli.current());++gli)
{
GroupDef *gd=0;
- if (!g->groupname.isEmpty() && (gd=Doxygen::groupSDict[g->groupname]))
+ if (!g->groupname.isEmpty() && (gd=Doxygen::groupSDict->find(g->groupname)))
{
gd->addExample(eg);
eg->makePartOfGroup(gd);
@@ -1090,10 +1094,13 @@ QCString GroupDef::getOutputFileBase() const
void GroupDef::addListReferences()
{
- addRefItem(xrefListItems(),
+ {
+ LockingPtr< QList<ListItemInfo> > xrefItems = xrefListItems();
+ addRefItem(xrefItems.pointer(),
theTranslator->trGroup(TRUE,TRUE),
getOutputFileBase(),name()
);
+ }
MemberGroupSDict::Iterator mgli(*memberGroupSDict);
MemberGroup *mg;
for (;(mg=mgli.current());++mgli)