From 573b33d79e36dc2da8446661c5682b12cc712425 Mon Sep 17 00:00:00 2001 From: Roberto Raggi <roberto.raggi@nokia.com> Date: Wed, 25 Mar 2009 14:47:34 +0100 Subject: [PATCH] Jump at the matching class declaration. --- src/plugins/cppeditor/cppeditor.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/src/plugins/cppeditor/cppeditor.cpp b/src/plugins/cppeditor/cppeditor.cpp index 6e0a511db7d..fea6fd3ed8d 100644 --- a/src/plugins/cppeditor/cppeditor.cpp +++ b/src/plugins/cppeditor/cppeditor.cpp @@ -646,8 +646,20 @@ CPPEditor::Link CPPEditor::findLinkAt(const QTextCursor &cursor, typeOfExpression(expression, doc, lastSymbol); if (!resolvedSymbols.isEmpty()) { - Symbol *symbol = resolvedSymbols.first().second; - if (symbol) { + TypeOfExpression::Result result = resolvedSymbols.first(); + + if (result.first->isForwardClassDeclarationType()) { + while (! resolvedSymbols.isEmpty()) { + TypeOfExpression::Result r = resolvedSymbols.takeFirst(); + + if (! r.first->isForwardClassDeclarationType()) { + result = r; + break; + } + } + } + + if (Symbol *symbol = result.second) { Symbol *def = 0; if (lookupDefinition && !lastSymbol->isFunction()) def = findDefinition(symbol); -- GitLab