From 54d60a77aef294ca0a6c0fc96bcb592db04d6e12 Mon Sep 17 00:00:00 2001
From: Roberto Raggi <roberto.raggi@nokia.com>
Date: Thu, 24 Sep 2009 17:01:29 +0200
Subject: [PATCH] Use the canonical symbol when searching references.

---
 src/plugins/cpptools/cppfindreferences.cpp | 9 ++++++++-
 1 file changed, 8 insertions(+), 1 deletion(-)

diff --git a/src/plugins/cpptools/cppfindreferences.cpp b/src/plugins/cpptools/cppfindreferences.cpp
index b0097b20661..d0a83d768b8 100644
--- a/src/plugins/cpptools/cppfindreferences.cpp
+++ b/src/plugins/cpptools/cppfindreferences.cpp
@@ -259,8 +259,15 @@ void CppFindReferences::findAll(const Snapshot &snapshot, Symbol *symbol)
 
     Core::ProgressManager *progressManager = Core::ICore::instance()->progressManager();
 
+    // find the canonical symbol.
+    Symbol *canonicalSymbol = symbol;
+    for (; symbol; symbol = symbol->next()) {
+        if (symbol->name() == canonicalSymbol->name())
+            canonicalSymbol = symbol;
+    }
+
     QFuture<Core::Utils::FileSearchResult> result =
-            QtConcurrent::run(&find_helper, snapshot, symbol);
+            QtConcurrent::run(&find_helper, snapshot, canonicalSymbol);
 
     m_watcher.setFuture(result);
 
-- 
GitLab