From 180233e7af6f5abebcba2b37def3c7e5c5766793 Mon Sep 17 00:00:00 2001 From: Roberto Raggi Date: Wed, 4 Feb 2009 10:57:32 +0100 Subject: [PATCH] Fixes: Do not activate member completion when class names are used as base of a DOT or ARROW expression. --- src/plugins/cpptools/cppcodecompletion.cpp | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp index 1f5bb7e1f4e..bca1d576e9f 100644 --- a/src/plugins/cpptools/cppcodecompletion.cpp +++ b/src/plugins/cpptools/cppcodecompletion.cpp @@ -599,7 +599,9 @@ bool CppCodeCompletion::completeMember(const QList &re ty = refTy->elementType(); if (Class *classTy = ty->asClass()) { - classObjectCandidates.append(classTy); + Symbol *symbol = result.second; + if (symbol && ! symbol->isClass()) + classObjectCandidates.append(classTy); } else if (NamedType *namedTy = ty->asNamedType()) { // ### This code is pretty slow. const QList candidates = context.resolve(namedTy->name()); @@ -700,7 +702,9 @@ bool CppCodeCompletion::completeMember(const QList &re namedTy = ptrTy->elementType()->asNamedType(); } } else if (Class *classTy = ty->asClass()) { - classObjectCandidates.append(classTy); + Symbol *symbol = result.second; + if (symbol && ! symbol->isClass()) + classObjectCandidates.append(classTy); } else { namedTy = ty->asNamedType(); if (! namedTy) {