From 3d2e454358380dfb0fd7a2d9c8f03fd2ddb9e411 Mon Sep 17 00:00:00 2001
From: Roberto Raggi <roberto.raggi@nokia.com>
Date: Tue, 8 Dec 2009 12:43:40 +0100
Subject: [PATCH] Add only symbols declared in class scopes when performing
 class-completion.

---
 src/plugins/cpptools/cppcodecompletion.cpp | 6 ++++++
 1 file changed, 6 insertions(+)

diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp
index cab6ed81842..14764970b13 100644
--- a/src/plugins/cpptools/cppcodecompletion.cpp
+++ b/src/plugins/cpptools/cppcodecompletion.cpp
@@ -1276,6 +1276,9 @@ void CppCodeCompletion::completeNamespace(const QList<Symbol *> &candidates,
     }
 
     foreach (Scope *scope, todo) {
+        if (! scope->isNamespaceScope())
+            continue;
+
         addCompletionItem(scope->owner());
 
         for (unsigned i = 0; i < scope->symbolCount(); ++i) {
@@ -1297,6 +1300,9 @@ void CppCodeCompletion::completeClass(const QList<Symbol *> &candidates,
     context.expand(klass->members(), context.visibleScopes(), &todo);
 
     foreach (Scope *scope, todo) {
+        if (! scope->isClassScope())
+            continue;
+
         addCompletionItem(scope->owner());
 
         for (unsigned i = 0; i < scope->symbolCount(); ++i) {
-- 
GitLab