summaryrefslogtreecommitdiffstats
path: root/src/memberdef.cpp
diff options
context:
space:
mode:
authorDimitri van Heesch <dimitri@stack.nl>2015-11-01 13:11:14 (GMT)
committerDimitri van Heesch <dimitri@stack.nl>2015-11-01 13:11:14 (GMT)
commite44780a7579ca865cc52801e920b1d20d2a3b438 (patch)
treeb43777fcbda0f6434bf782c753616407a40feaec /src/memberdef.cpp
parenta86fc5c809c68cb559d8006a22c9d730e0a49c5b (diff)
downloadDoxygen-e44780a7579ca865cc52801e920b1d20d2a3b438.zip
Doxygen-e44780a7579ca865cc52801e920b1d20d2a3b438.tar.gz
Doxygen-e44780a7579ca865cc52801e920b1d20d2a3b438.tar.bz2
Bug 754606 - Double anchors when using groups
Diffstat (limited to 'src/memberdef.cpp')
-rw-r--r--src/memberdef.cpp21
1 files changed, 12 insertions, 9 deletions
diff --git a/src/memberdef.cpp b/src/memberdef.cpp
index 9fcc2a2..a8e2692 100644
--- a/src/memberdef.cpp
+++ b/src/memberdef.cpp
@@ -1418,6 +1418,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
// are explicitly grouped.
if (!inGroup && m_impl->mtype==MemberType_EnumValue) return;
+
Definition *d=0;
ASSERT (cd!=0 || nd!=0 || fd!=0 || gd!=0); // member should belong to something
if (cd) d=cd; else if (nd) d=nd; else if (fd) d=fd; else d=gd;
@@ -1444,19 +1445,21 @@ void MemberDef::writeDeclaration(OutputList &ol,
// If there is no detailed description we need to write the anchor here.
bool detailsVisible = isDetailedSectionLinkable();
- if (!detailsVisible)
+ bool writeAnchor = (inGroup || m_impl->group==0) && // only write anchors for member that have no details and are
+ !detailsVisible && !m_impl->annMemb; // rendered inside the group page or are not grouped at all
+ if (writeAnchor)
{
QCString doxyArgs=argsString();
- if (!m_impl->annMemb)
+ QCString doxyName=name();
+ if (!cname.isEmpty())
{
- QCString doxyName=name();
- if (!cname.isEmpty())
- {
- doxyName.prepend(cdname+getLanguageSpecificSeparator(getLanguage()));
- }
- ol.startDoxyAnchor(cfname,cname,anchor(),doxyName,doxyArgs);
+ doxyName.prepend(cdname+getLanguageSpecificSeparator(getLanguage()));
}
+ ol.startDoxyAnchor(cfname,cname,anchor(),doxyName,doxyArgs);
+ }
+ if (!detailsVisible)
+ {
ol.pushGeneratorState();
ol.disable(OutputGenerator::Man);
ol.disable(OutputGenerator::Latex);
@@ -1775,7 +1778,7 @@ void MemberDef::writeDeclaration(OutputList &ol,
ol.endTypewriter();
}
- if (!detailsVisible && !m_impl->annMemb)
+ if (writeAnchor)
{
ol.endDoxyAnchor(cfname,anchor());
}