From 08ec1f93267eb66f52ee5ad61ed3aecc7cf68a16 Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Thu, 20 Sep 2018 12:04:21 +0200 Subject: 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 Reviewed-by: Alexandru Croitor --- src/plugins/cpptools/cppselectionchanger.cpp | 3 +++ 1 file changed, 3 insertions(+) (limited to 'src/plugins/cpptools/cppselectionchanger.cpp') 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; -- cgit v1.2.1