From 5cc3378858c62dfd9b0a6190b82b9f1762a20d0b Mon Sep 17 00:00:00 2001 From: Nikolai Kosjar Date: Wed, 26 Nov 2014 13:45:22 +0100 Subject: CppEditor: Fix crash in InsertQtPropertyMembers for invalid code Change-Id: I8a3a3240033d23aa9e3df5276c4e6302d97f71b9 Reviewed-by: Erik Verbruggen --- src/plugins/cppeditor/cppquickfix_test.cpp | 5 +++++ src/plugins/cppeditor/cppquickfixes.cpp | 2 +- 2 files changed, 6 insertions(+), 1 deletion(-) (limited to 'src') diff --git a/src/plugins/cppeditor/cppquickfix_test.cpp b/src/plugins/cppeditor/cppquickfix_test.cpp index 70d2e1c267..3269df3c0d 100644 --- a/src/plugins/cppeditor/cppquickfix_test.cpp +++ b/src/plugins/cppeditor/cppquickfix_test.cpp @@ -1467,6 +1467,11 @@ void CppEditorPlugin::test_quickfix_data() " }\n" " f1(*str);\n" "}\n"); + + QTest::newRow("InsertQtPropertyMembers_noTriggerInvalidCode") + << CppQuickFixFactoryPtr(new InsertQtPropertyMembers) + << _("class C { @Q_PROPERTY(typeid foo READ foo) };\n") + << _(); } void CppEditorPlugin::test_quickfix() diff --git a/src/plugins/cppeditor/cppquickfixes.cpp b/src/plugins/cppeditor/cppquickfixes.cpp index 44e8e88278..36a0d41d5b 100644 --- a/src/plugins/cppeditor/cppquickfixes.cpp +++ b/src/plugins/cppeditor/cppquickfixes.cpp @@ -4254,7 +4254,7 @@ void InsertQtPropertyMembers::match(const CppQuickFixInterface &interface, AST * const ast = path.last(); QtPropertyDeclarationAST *qtPropertyDeclaration = ast->asQtPropertyDeclaration(); - if (!qtPropertyDeclaration) + if (!qtPropertyDeclaration || !qtPropertyDeclaration->type_id) return; ClassSpecifierAST *klass = 0; -- cgit v1.2.1