From bb8c3906d8c71c063b779e07262fc2b122efeb9b Mon Sep 17 00:00:00 2001 From: Simjees Abraham Date: Wed, 28 Mar 2012 15:09:28 +0200 Subject: Fixed the crash in Zoomtool when the app is exited when ZoomTool is active. Change-Id: Ibc97665ddf789bd10c5256c02b8471ec2f4e9855 Reviewed-by: Kai Koehne --- src/plugins/qmltooling/qmldbg_qtquick2/zoomtool.cpp | 10 ++++++---- src/plugins/qmltooling/qmldbg_qtquick2/zoomtool.h | 3 ++- 2 files changed, 8 insertions(+), 5 deletions(-) (limited to 'src/plugins') diff --git a/src/plugins/qmltooling/qmldbg_qtquick2/zoomtool.cpp b/src/plugins/qmltooling/qmldbg_qtquick2/zoomtool.cpp index 171f1a52e9..3efd816b00 100644 --- a/src/plugins/qmltooling/qmldbg_qtquick2/zoomtool.cpp +++ b/src/plugins/qmltooling/qmldbg_qtquick2/zoomtool.cpp @@ -75,10 +75,12 @@ ZoomTool::ZoomTool(QQuickViewInspector *inspector, QQuickView *view) : ZoomTool::~ZoomTool() { // restoring the original states. - m_rootItem->setScale(m_originalScale); - m_rootItem->setPos(m_originalPosition); - if (!m_originalSmooth) - m_rootItem->setSmooth(m_originalSmooth); + if (m_rootItem) { + m_rootItem->setScale(m_originalScale); + m_rootItem->setPos(m_originalPosition); + if (!m_originalSmooth) + m_rootItem->setSmooth(m_originalSmooth); + } } void ZoomTool::mousePressEvent(QMouseEvent *event) diff --git a/src/plugins/qmltooling/qmldbg_qtquick2/zoomtool.h b/src/plugins/qmltooling/qmldbg_qtquick2/zoomtool.h index 02ed8e09df..6787d7a7f4 100644 --- a/src/plugins/qmltooling/qmldbg_qtquick2/zoomtool.h +++ b/src/plugins/qmltooling/qmldbg_qtquick2/zoomtool.h @@ -45,6 +45,7 @@ #include "abstracttool.h" #include +#include QT_FORWARD_DECLARE_CLASS(QQuickView) QT_FORWARD_DECLARE_CLASS(QQuickItem) @@ -92,7 +93,7 @@ private: bool m_originalSmooth; bool m_dragStarted; bool m_pinchStarted; - QQuickItem *m_rootItem; + QPointer m_rootItem; QPointF m_adjustedOrigin; QPointF m_dragStartPosition; QPointF m_mousePosition; -- cgit v1.2.3