diff options
author | Orgad Shaneh <orgad.shaneh@audiocodes.com> | 2015-05-04 23:22:39 +0300 |
---|---|---|
committer | Orgad Shaneh <orgads@gmail.com> | 2015-05-05 08:59:28 +0000 |
commit | 33d270976ec6b3bc30e158530705a4966e8a1011 (patch) | |
tree | 26575df69e938712d0fb6a3207376fa7cac2b40c /src/libs/cplusplus/LookupContext.cpp | |
parent | e335fd4c136a2a425c7630e1171d1afd26f98f03 (diff) | |
download | qt-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.cpp | 11 |
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); |