diff --git a/src/libs/cplusplus/TypeOfExpression.cpp b/src/libs/cplusplus/TypeOfExpression.cpp index e5cd8579ed0b855e8d49956d1318e079ff6a3c9d..2177cdd9306712ab63f36f6b4c9ed520f9ad3bdf 100644 --- a/src/libs/cplusplus/TypeOfExpression.cpp +++ b/src/libs/cplusplus/TypeOfExpression.cpp @@ -96,7 +96,12 @@ QList<LookupItem> TypeOfExpression::operator()(ExpressionAST *expression, m_lookupContext.setBindings(m_bindings); ResolveExpression resolve(m_lookupContext); - return resolve(m_ast, scope); + const QList<LookupItem> items = resolve(m_ast, scope); + + if (! m_bindings) + m_lookupContext = resolve.context(); + + return items; } QString TypeOfExpression::preprocess(const QString &expression) const