diff options
-rw-r--r-- | src/doxygen.cpp | 10 | ||||
-rwxr-xr-x | src/util.cpp | 8 |
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; } |