summaryrefslogtreecommitdiff
path: root/src/libs/cplusplus/ExpressionUnderCursor.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/libs/cplusplus/ExpressionUnderCursor.cpp')
-rw-r--r--src/libs/cplusplus/ExpressionUnderCursor.cpp11
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;
}