aboutsummaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorNikolai Kosjar <nikolai.kosjar@qt.io>2018-09-20 12:04:21 +0200
committerNikolai Kosjar <nikolai.kosjar@qt.io>2018-09-20 11:09:43 +0000
commit08ec1f93267eb66f52ee5ad61ed3aecc7cf68a16 (patch)
tree7e5e179eab224673c2f9d74c3679925d8bd76d00 /src
parent807b0f78fc89409559ecc22229650a883def436d (diff)
CppTools: Fix crash on smart selection change with lambda
...in case there is no lambda declarator provided, e.g.: []{} Fixes: QTCREATORBUG-20994 Change-Id: I6a77cffe4e585422f1ed0639cabc687d3d123f5d Reviewed-by: Christian Stenger <christian.stenger@qt.io> Reviewed-by: Alexandru Croitor <alexandru.croitor@qt.io>
Diffstat (limited to 'src')
-rw-r--r--src/plugins/cpptools/cppselectionchanger.cpp3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/plugins/cpptools/cppselectionchanger.cpp b/src/plugins/cpptools/cppselectionchanger.cpp
index 5ac29f97ca..59ac0a1634 100644
--- a/src/plugins/cpptools/cppselectionchanger.cpp
+++ b/src/plugins/cpptools/cppselectionchanger.cpp
@@ -924,6 +924,9 @@ void CppSelectionChanger::fineTuneASTNodePositions(ASTNodePositions &positions)
// TODO: Fix more lambda cases.
LambdaIntroducerAST *lambdaIntroducerAST = lambdaExpressionAST->lambda_introducer;
LambdaDeclaratorAST *lambdaDeclaratorAST = lambdaExpressionAST->lambda_declarator;
+ if (!lambdaDeclaratorAST)
+ return;
+
TrailingReturnTypeAST *trailingReturnTypeAST = lambdaDeclaratorAST->trailing_return_type;
unsigned firstSquareBracketTokenIndex = lambdaIntroducerAST->lbracket_token;
unsigned lastParenTokenIndex = lambdaDeclaratorAST->rparen_token;