Fixed the crash in Zoomtool when the app is exited when ZoomTool is active.
authorSimjees Abraham <simjees.abraham@nokia.com>
Wed, 28 Mar 2012 13:09:28 +0000 (15:09 +0200)
committerQt by Nokia <qt-info@nokia.com>
Wed, 28 Mar 2012 14:50:29 +0000 (16:50 +0200)
Change-Id: Ibc97665ddf789bd10c5256c02b8471ec2f4e9855
Reviewed-by: Kai Koehne <kai.koehne@nokia.com>

src/plugins/qmltooling/qmldbg_qtquick2/zoomtool.cpp
src/plugins/qmltooling/qmldbg_qtquick2/zoomtool.h

index 171f1a5..3efd816 100644 (file)
@@ -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)
index 02ed8e0..6787d7a 100644 (file)
@@ -45,6 +45,7 @@
 #include "abstracttool.h"
 
 #include <QtCore/QPointF>
+#include <QtCore/QPointer>
 
 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<QQuickItem> m_rootItem;
     QPointF m_adjustedOrigin;
     QPointF m_dragStartPosition;
     QPointF m_mousePosition;