summaryrefslogtreecommitdiff
path: root/src/libs/cplusplus
diff options
context:
space:
mode:
authorErik Verbruggen <erik.verbruggen@nokia.com>2010-03-12 11:31:14 +0100
committerErik Verbruggen <erik.verbruggen@nokia.com>2010-03-12 11:32:43 +0100
commita2ded1e8eaf92f1a157f979aa388c6f69b432f07 (patch)
tree405f4e8da89347105d93e58966a8b2fe4c9ab720 /src/libs/cplusplus
parent933ef8cff0636f7a5db93909773b09dc4eb4aad3 (diff)
downloadqt-creator-a2ded1e8eaf92f1a157f979aa388c6f69b432f07.tar.gz
Added boundary check.
Diffstat (limited to 'src/libs/cplusplus')
-rw-r--r--src/libs/cplusplus/ExpressionUnderCursor.cpp12
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)) {