From 9d63e4a6992ee3b4c41a1fefcdae6de4360a3eeb Mon Sep 17 00:00:00 2001
From: Roberto Raggi <roberto.raggi@nokia.com>
Date: Fri, 9 Jul 2010 10:11:30 +0200
Subject: [PATCH] Try to resolve the type in the scope of the declaration.

---
 src/libs/cplusplus/ResolveExpression.cpp | 7 ++++++-
 1 file changed, 6 insertions(+), 1 deletion(-)

diff --git a/src/libs/cplusplus/ResolveExpression.cpp b/src/libs/cplusplus/ResolveExpression.cpp
index aadc1f5273a..21fc815f031 100644
--- a/src/libs/cplusplus/ResolveExpression.cpp
+++ b/src/libs/cplusplus/ResolveExpression.cpp
@@ -604,7 +604,12 @@ ClassOrNamespace *ResolveExpression::baseExpression(const QList<LookupItem> &bas
                             if (ClassOrNamespace *retBinding = findClass(ptrTy->elementType(), overload->scope()))
                                 return retBinding;
 
-                            else if (debug) {
+                            else if (scope != overload->scope()) {
+                                if (ClassOrNamespace *retBinding = findClass(ptrTy->elementType(), scope))
+                                    return retBinding;
+                            }
+
+                            if (debug) {
                                 Overview oo;
                                 qDebug() << "no class for:" << oo(ptrTy->elementType());
                             }
-- 
GitLab