summaryrefslogtreecommitdiffstats
path: root/src/util.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/util.cpp')
-rw-r--r--src/util.cpp50
1 files changed, 33 insertions, 17 deletions
diff --git a/src/util.cpp b/src/util.cpp
index 56dd787..76aea95 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -1799,7 +1799,7 @@ bool leftScopeMatch(const QCString &scope, const QCString &name)
void linkifyText(const TextGeneratorIntf &out,Definition *scope,
- FileDef *fileScope,const char *,
+ FileDef *fileScope,Definition *self,
const char *text, bool autoBreak,bool external,
bool keepSpaces,int indentLevel)
{
@@ -1882,11 +1882,14 @@ void linkifyText(const TextGeneratorIntf &out,Definition *scope,
//printf("Found typedef %s\n",typeDef->name().data());
if (external ? typeDef->isLinkable() : typeDef->isLinkableInProject())
{
- out.writeLink(typeDef->getReference(),
- typeDef->getOutputFileBase(),
- typeDef->anchor(),
- word);
- found=TRUE;
+ if (typeDef->getOuterScope()!=self)
+ {
+ out.writeLink(typeDef->getReference(),
+ typeDef->getOutputFileBase(),
+ typeDef->anchor(),
+ word);
+ found=TRUE;
+ }
}
}
if (!found && cd)
@@ -1895,8 +1898,11 @@ void linkifyText(const TextGeneratorIntf &out,Definition *scope,
// add link to the result
if (external ? cd->isLinkable() : cd->isLinkableInProject())
{
- out.writeLink(cd->getReference(),cd->getOutputFileBase(),cd->anchor(),word);
- found=TRUE;
+ if (cd!=self)
+ {
+ out.writeLink(cd->getReference(),cd->getOutputFileBase(),cd->anchor(),word);
+ found=TRUE;
+ }
}
}
else if ((cd=getClass(matchWord+"-p"))) // search for Obj-C protocols as well
@@ -1904,8 +1910,11 @@ void linkifyText(const TextGeneratorIntf &out,Definition *scope,
// add link to the result
if (external ? cd->isLinkable() : cd->isLinkableInProject())
{
- out.writeLink(cd->getReference(),cd->getOutputFileBase(),cd->anchor(),word);
- found=TRUE;
+ if (cd!=self)
+ {
+ out.writeLink(cd->getReference(),cd->getOutputFileBase(),cd->anchor(),word);
+ found=TRUE;
+ }
}
}
else if ((cd=getClass(matchWord+"-g"))) // C# generic as well
@@ -1913,8 +1922,11 @@ void linkifyText(const TextGeneratorIntf &out,Definition *scope,
// add link to the result
if (external ? cd->isLinkable() : cd->isLinkableInProject())
{
- out.writeLink(cd->getReference(),cd->getOutputFileBase(),cd->anchor(),word);
- found=TRUE;
+ if (cd!=self)
+ {
+ out.writeLink(cd->getReference(),cd->getOutputFileBase(),cd->anchor(),word);
+ found=TRUE;
+ }
}
}
else
@@ -1951,10 +1963,14 @@ void linkifyText(const TextGeneratorIntf &out,Definition *scope,
//printf("Found ref scope=%s\n",d?d->name().data():"<global>");
//ol.writeObjectLink(d->getReference(),d->getOutputFileBase(),
// md->anchor(),word);
- out.writeLink(md->getReference(),md->getOutputFileBase(),
- md->anchor(),word);
- //printf("found symbol %s\n",matchWord.data());
- found=TRUE;
+ if (md!=self && (self==0 || md->name()!=self->name()))
+ // name check is needed for overloaded members, where getDefs just returns one
+ {
+ out.writeLink(md->getReference(),md->getOutputFileBase(),
+ md->anchor(),word);
+ //printf("found symbol %s\n",matchWord.data());
+ found=TRUE;
+ }
}
}
@@ -6123,7 +6139,7 @@ void filterLatexString(FTextStream &t,const char *str,
else if (*p=='>')
{ t << "$>$"; p++; }
else
- { t << "$\\backslash$"; }
+ { t << "\\textbackslash{}"; }
break;
case '"': { t << "\\char`\\\"{}"; }
break;