diff options
author | Erik Verbruggen <erik.verbruggen@nokia.com> | 2010-03-12 11:31:14 +0100 |
---|---|---|
committer | Erik Verbruggen <erik.verbruggen@nokia.com> | 2010-03-12 11:32:43 +0100 |
commit | a2ded1e8eaf92f1a157f979aa388c6f69b432f07 (patch) | |
tree | 405f4e8da89347105d93e58966a8b2fe4c9ab720 /src/libs/cplusplus | |
parent | 933ef8cff0636f7a5db93909773b09dc4eb4aad3 (diff) | |
download | qt-creator-a2ded1e8eaf92f1a157f979aa388c6f69b432f07.tar.gz |
Added boundary check.
Diffstat (limited to 'src/libs/cplusplus')
-rw-r--r-- | src/libs/cplusplus/ExpressionUnderCursor.cpp | 12 |
1 files changed, 7 insertions, 5 deletions
diff --git a/src/libs/cplusplus/ExpressionUnderCursor.cpp b/src/libs/cplusplus/ExpressionUnderCursor.cpp index d8c7fc55fb..08c723dc0c 100644 --- a/src/libs/cplusplus/ExpressionUnderCursor.cpp +++ b/src/libs/cplusplus/ExpressionUnderCursor.cpp @@ -147,11 +147,13 @@ int ExpressionUnderCursor::startOfExpression_helper(BackwardsScanner &tk, int in --i; } - int j = i; - while (tk[j].is(T_LBRACKET)) - ++j; - if (tk[j].is(T_IDENTIFIER) && tk[j + 1].is(T_IDENTIFIER)) - return i; + if (i >= 0) { + int j = i; + while (tk[j].is(T_LBRACKET)) + ++j; + if (tk[j].is(T_IDENTIFIER) && tk[j + 1].is(T_IDENTIFIER)) + return i; + } } return index - 1; } else if (tk[index - 1].is(T_RPAREN)) { |