summaryrefslogtreecommitdiff
path: root/src/plugins/cpptools/cppcodecompletion.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/plugins/cpptools/cppcodecompletion.cpp')
-rw-r--r--src/plugins/cpptools/cppcodecompletion.cpp6
1 files changed, 5 insertions, 1 deletions
diff --git a/src/plugins/cpptools/cppcodecompletion.cpp b/src/plugins/cpptools/cppcodecompletion.cpp
index ac0d9813e7..bbc63d9ee0 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());