diff options
author | Thomas Hartmann <Thomas.Hartmann@theqtcompany.com> | 2016-06-28 13:49:02 +0200 |
---|---|---|
committer | Thomas Hartmann <Thomas.Hartmann@theqtcompany.com> | 2016-06-28 13:23:16 +0000 |
commit | 2ac7300f0e50d17ed65bc2fd63adc16ae6a209b8 (patch) | |
tree | 475c0456ccc7c4a01436462c7a7bf45847161506 /src/plugins/qmldesigner/designercore/rewritertransaction.cpp | |
parent | dc01319cd720be5c980bcc7c3c3cfc4c1b65823a (diff) |
QmlDesigner: Fix crash in tests
In the tests we have cases with no rewriter attached.
We warn in these cases.
Change-Id: Ibc89ff501bf6d48ed3a2f230ee6e1afda5d4d06c
Reviewed-by: Christian Stenger <christian.stenger@qt.io>
Diffstat (limited to 'src/plugins/qmldesigner/designercore/rewritertransaction.cpp')
-rw-r--r-- | src/plugins/qmldesigner/designercore/rewritertransaction.cpp | 19 |
1 files changed, 15 insertions, 4 deletions
diff --git a/src/plugins/qmldesigner/designercore/rewritertransaction.cpp b/src/plugins/qmldesigner/designercore/rewritertransaction.cpp index 7dbc546377..755b667a06 100644 --- a/src/plugins/qmldesigner/designercore/rewritertransaction.cpp +++ b/src/plugins/qmldesigner/designercore/rewritertransaction.cpp @@ -27,6 +27,8 @@ #include <abstractview.h> #include <rewriterview.h> +#include <utils/qtcassert.h> + #ifndef QMLDESIGNER_TEST #include <designdocument.h> #include <qmldesignerplugin.h> @@ -82,13 +84,22 @@ void RewriterTransaction::commit() { if (m_valid) { m_valid = false; - bool oldSemanticChecks = view()->rewriterView()->checkSemanticErrors(); - if (m_ignoreSemanticChecks) - view()->rewriterView()->setCheckSemanticErrors(false); + + RewriterView *rewriterView = view()->rewriterView(); + + QTC_ASSERT(rewriterView, qWarning() << Q_FUNC_INFO << "No rewriter attached"); + + bool oldSemanticChecks = false; + if (rewriterView) { + oldSemanticChecks = rewriterView->checkSemanticErrors(); + if (m_ignoreSemanticChecks) + rewriterView->setCheckSemanticErrors(false); + } view()->emitRewriterEndTransaction(); - view()->rewriterView()->setCheckSemanticErrors(oldSemanticChecks); + if (rewriterView) + view()->rewriterView()->setCheckSemanticErrors(oldSemanticChecks); if (m_activeIdentifier) { qDebug() << "Commit RewriterTransaction:" << m_identifier << m_identifierNumber; |