summaryrefslogtreecommitdiff
path: root/src/libs/cplusplus/LookupContext.cpp
diff options
context:
space:
mode:
authorOrgad Shaneh <orgad.shaneh@audiocodes.com>2015-05-04 23:22:39 +0300
committerOrgad Shaneh <orgads@gmail.com>2015-05-05 08:59:28 +0000
commit33d270976ec6b3bc30e158530705a4966e8a1011 (patch)
tree26575df69e938712d0fb6a3207376fa7cac2b40c /src/libs/cplusplus/LookupContext.cpp
parente335fd4c136a2a425c7630e1171d1afd26f98f03 (diff)
downloadqt-creator-33d270976ec6b3bc30e158530705a4966e8a1011.tar.gz
C++: Fix highlighting of member on indirect specialization typedef
Missed a spot in ad4cb444fbfd1f3f4747a0988a196120d3a0c208 Task-number: QTCREATORBUG-14141 Change-Id: I1a6a25ce3e9c2a680e1b8eebec01a17749cdb026 Reviewed-by: Nikolai Kosjar <nikolai.kosjar@theqtcompany.com>
Diffstat (limited to 'src/libs/cplusplus/LookupContext.cpp')
-rw-r--r--src/libs/cplusplus/LookupContext.cpp11
1 files changed, 7 insertions, 4 deletions
diff --git a/src/libs/cplusplus/LookupContext.cpp b/src/libs/cplusplus/LookupContext.cpp
index 41d6d8618a..387d1ec3e7 100644
--- a/src/libs/cplusplus/LookupContext.cpp
+++ b/src/libs/cplusplus/LookupContext.cpp
@@ -1222,16 +1222,19 @@ LookupScopePrivate *LookupScopePrivate::findNestedType(const Name *name, LookupS
Declaration *decl = typedefit->second;
if (_alreadyConsideredTypedefs.contains(decl))
return 0;
+ LookupScopePrivate *binding = 0;
_alreadyConsideredTypedefs.insert(decl);
if (const NamedType *namedTy = decl->type()->asNamedType()) {
- if (LookupScope *e = q->lookupType(namedTy->name()))
- return e->d;
- if (origin) {
+ if (LookupScope *e = q->lookupType(namedTy->name())) {
+ binding = e->d;
+ } else if (origin) {
if (LookupScope *e = origin->q->lookupType(namedTy->name()))
- return e->d;
+ binding = e->d;
}
}
_alreadyConsideredTypedefs.remove(decl);
+ if (binding)
+ return binding;
}
auto it = _nestedScopes.find(name);