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