diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp index ac0d9813e711282d1884cea18cd217dc35030081..bbc63d9ee091ed52894213dd341ab861ce10bf56 100644 --- a/src/plugins/cpptools/cppcodecompletion.cpp +++ b/src/plugins/cpptools/cppcodecompletion.cpp @@ -1076,7 +1076,11 @@ bool CppCodeCompletion::completeConstructorOrFunction(const QList<LookupItem> &r QTextCursor tc(edit->document()); tc.setPosition(endOfExpression); BackwardsScanner bs(tc); - QString possibleDecl = bs.mid(bs.startOfLine(bs.startToken())).trimmed().append("();"); + const int startToken = bs.startToken(); + const int lineStartToken = bs.startOfLine(startToken); + // make sure the required tokens are actually available + bs.LA(startToken - lineStartToken); + QString possibleDecl = bs.mid(lineStartToken).trimmed().append("();"); Document::Ptr doc = Document::create(QLatin1String("<completion>")); doc->setSource(possibleDecl.toLatin1());