diff options
Diffstat (limited to 'src/qdoc/clangcodeparser.cpp')
-rw-r--r-- | src/qdoc/clangcodeparser.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/src/qdoc/clangcodeparser.cpp b/src/qdoc/clangcodeparser.cpp index 0f75724be..f72896dfd 100644 --- a/src/qdoc/clangcodeparser.cpp +++ b/src/qdoc/clangcodeparser.cpp @@ -208,12 +208,16 @@ static Node *findNodeForCursor(QDocDatabase* qdb, CXCursor cur) { args.append(fromCXString(clang_getTypeSpelling(clang_getArgType(funcType, i)))); QString t1 = funcParams.at(i).dataType(); QString t2 = args.at(i); + auto p2 = parent; + while (p2 && t1 != t2) { + QString parentScope = p2->name() + QLatin1String("::"); + t1 = t1.remove(parentScope); + t2 = t2.remove(parentScope); + p2 = p2->parent(); + } if (t1 != t2) { - QString parentScope = parent->name() + QLatin1String("::"); - if (t1.remove(parentScope) != t2.remove(parentScope)) { - different = true; - break; - } + different = true; + break; } } if (!different) |