diff options
Diffstat (limited to 'src/libs/cplusplus/ExpressionUnderCursor.cpp')
-rw-r--r-- | src/libs/cplusplus/ExpressionUnderCursor.cpp | 11 |
1 files changed, 8 insertions, 3 deletions
diff --git a/src/libs/cplusplus/ExpressionUnderCursor.cpp b/src/libs/cplusplus/ExpressionUnderCursor.cpp index 9cbaeb9753..53dc9b4f2d 100644 --- a/src/libs/cplusplus/ExpressionUnderCursor.cpp +++ b/src/libs/cplusplus/ExpressionUnderCursor.cpp @@ -265,9 +265,14 @@ int ExpressionUnderCursor::startOfFunctionCall(const QTextCursor &cursor) break; else if (tk.is(T_LPAREN)) return startPosition + tk.position(); - else if (tk.is(T_RPAREN)) - index = startOfMatchingBrace(tokens, index); - else + else if (tk.is(T_RPAREN)) { + int matchingBrace = startOfMatchingBrace(tokens, index); + + if (matchingBrace == index) // If no matching brace found + return -1; + + index = matchingBrace; + } else --index; } |