diff --git a/src/plugins/qmldesigner/designercore/filemanager/addpropertyvisitor.cpp b/src/plugins/qmldesigner/designercore/filemanager/addpropertyvisitor.cpp index 000d90d04af..1e9ddc65476 100644 --- a/src/plugins/qmldesigner/designercore/filemanager/addpropertyvisitor.cpp +++ b/src/plugins/qmldesigner/designercore/filemanager/addpropertyvisitor.cpp @@ -76,8 +76,16 @@ void AddPropertyVisitor::addInMembers(QmlJS::AST::UiObjectInitializer *initializ endOfPreviousMember = insertAfter->member->lastSourceLocation(); // Find out if the previous members ends with semicolon. - if (auto member = QmlJS::AST::cast(insertAfter->member)) { - if (auto stmt = QmlJS::AST::cast(member->statement)) { + if (auto member = insertAfter->member) { + auto hasStatement = [member]() -> QmlJS::AST::ExpressionStatement * { + if (auto m = QmlJS::AST::cast(member)) + return QmlJS::AST::cast(m->statement); + if (auto m = QmlJS::AST::cast(member)) + return QmlJS::AST::cast(m->statement); + return nullptr; + }; + + if (auto stmt = hasStatement()) { previousMemberSemicolon = stmt->semicolonToken.isValid() && stmt->semicolonToken.length > 0; } else {