summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/doxygen.cpp10
-rwxr-xr-xsrc/util.cpp8
2 files changed, 13 insertions, 5 deletions
diff --git a/src/doxygen.cpp b/src/doxygen.cpp
index 07214cb..d649ce5 100644
--- a/src/doxygen.cpp
+++ b/src/doxygen.cpp
@@ -2052,10 +2052,16 @@ static void findUsingDeclarations(EntryNav *rootNav)
// file scope).
QCString name = substitute(root->name,".","::"); //Java/C# scope->internal
- usingCd = getResolvedClass(nd,fd,name);
+ usingCd = getClass(name); // try direct lookup first, this is needed to get
+ // builtin STL classes to properly resolve, e.g.
+ // vector -> std::vector
if (usingCd==0)
{
- usingCd = Doxygen::hiddenClasses->find(name);
+ usingCd = getResolvedClass(nd,fd,name); // try via resolving (see also bug757509)
+ }
+ if (usingCd==0)
+ {
+ usingCd = Doxygen::hiddenClasses->find(name); // check if it is already hidden
}
//printf("%s -> %p\n",root->name.data(),usingCd);
diff --git a/src/util.cpp b/src/util.cpp
index f1ebf8b..3593c9d 100755
--- a/src/util.cpp
+++ b/src/util.cpp
@@ -1887,9 +1887,10 @@ QCString removeRedundantWhiteSpace(const QCString &s)
{
if (g_charAroundSpace.charMap[(uchar)pc].before &&
g_charAroundSpace.charMap[(uchar)nc].after &&
- !(pc==',' && nc=='.'))
- // remove spaces/tabs
- {
+ !(pc==',' && nc=='.') &&
+ (osp<8 || (osp>=8 && isId(nc))) // e.g. "operator >>" -> "operator>>", but not "operator int" -> operatorint"
+ )
+ { // keep space
*dst++=' ';
}
}
@@ -1915,6 +1916,7 @@ QCString removeRedundantWhiteSpace(const QCString &s)
pc=c;
}
*dst++='\0';
+ //printf("removeRedundantWhitespace(%s)->%s\n",s.data(),growBuf);
return growBuf;
}