summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authoralbert-github <albert.tests@gmail.com>2018-11-23 12:21:51 (GMT)
committeralbert-github <albert.tests@gmail.com>2018-11-23 12:21:51 (GMT)
commitc0b367ecd4a2f48cde85d4f5aed416892d3fa775 (patch)
tree33af42ec230a4c8bef8db5796e2e1fad4cb3577f /src
parent50879dd77d551cd62c5a6db2f3f322ae69b115b7 (diff)
downloadDoxygen-c0b367ecd4a2f48cde85d4f5aed416892d3fa775.zip
Doxygen-c0b367ecd4a2f48cde85d4f5aed416892d3fa775.tar.gz
Doxygen-c0b367ecd4a2f48cde85d4f5aed416892d3fa775.tar.bz2
issue #6632 References to Objective C protocols by name broken in 1.8.12
The issue is the change in the spacing for protocols. In 1.8.11 the option `-r functions` gave (a.o): `member callbackMethod of class MyProtocol-p` In 1.8.12 the result is: `member callbackMethod of class MyProtocol -p` (Note the extra space).
Diffstat (limited to 'src')
-rw-r--r--src/reflist.cpp5
-rw-r--r--src/util.cpp11
2 files changed, 12 insertions, 4 deletions
diff --git a/src/reflist.cpp b/src/reflist.cpp
index 7ae4c80..36206a8 100644
--- a/src/reflist.cpp
+++ b/src/reflist.cpp
@@ -162,7 +162,10 @@ void RefList::generatePage()
if (item->scope->name() != "<globalScope>")
{
doc += "\\_setscope ";
- doc += item->scope->name();
+ if (item->scope->name().right(3)==" -p")
+ doc += item->scope->name().left(item->scope->name().length()-3) + "-p";
+ else
+ doc += item->scope->name();
doc += " ";
}
}
diff --git a/src/util.cpp b/src/util.cpp
index 819903c..330fc57 100644
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -1424,8 +1424,12 @@ static ClassDef *getResolvedClassRec(const Definition *scope,
di = Doxygen::symbolMap->find(name+"-p");
if (di==0)
{
- //printf("no such symbol!\n");
- return 0;
+ di = Doxygen::symbolMap->find(name+" -p");
+ if (di==0)
+ {
+ //printf("no such symbol!\n");
+ return 0;
+ }
}
//}
}
@@ -4556,7 +4560,8 @@ static bool getScopeDefs(const char *docScope,const char *scope,
if (scopeOffset>0) fullName.prepend(docScopeName.left(scopeOffset)+"::");
if (((cd=getClass(fullName)) || // normal class
- (cd=getClass(fullName+"-p")) //|| // ObjC protocol
+ (cd=getClass(fullName+"-p")) || // ObjC protocol
+ (cd=getClass(fullName+" -p")) //|| // ObjC protocol
//(cd=getClass(fullName+"-g")) // C# generic
) && cd->isLinkable())
{