fix crash bug when unloading canvas
authorCharles Yin <charles.yin@nokia.com>
Tue, 11 Oct 2011 01:37:49 +0000 (11:37 +1000)
committerQt by Nokia <qt-info@nokia.com>
Wed, 12 Oct 2011 00:36:56 +0000 (02:36 +0200)
Task-number:QTBUG-21935
Change-Id: If4a2a92b2f53cf81a48d023df8a1e6d11e522e0d
Reviewed-on: http://codereview.qt-project.org/6370
Sanity-Review: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Charles Yin <charles.yin@nokia.com>
src/declarative/items/context2d/qsgcanvasitem.cpp
src/declarative/items/context2d/qsgcontext2dnode.cpp
src/declarative/items/context2d/qsgcontext2dtexture.cpp

index 43bb734..3445cf0 100644 (file)
@@ -184,10 +184,6 @@ QSGCanvasItem::QSGCanvasItem(QSGItem *parent)
 QSGCanvasItem::~QSGCanvasItem()
 {
     Q_D(QSGCanvasItem);
-    if (d->texture) {
-        d->texture->setItem(0);
-        d->texture->deleteLater();
-    }
     delete d->context;
 }
 
index e20d649..87de8cf 100644 (file)
@@ -64,6 +64,7 @@ QSGContext2DNode::QSGContext2DNode(QSGCanvasItem* item)
 
 QSGContext2DNode::~QSGContext2DNode()
 {
+    delete m_texture;
 }
 
 void QSGContext2DNode::setSize(const QSizeF& size)
index 617d666..8e22ceb 100644 (file)
@@ -656,7 +656,7 @@ QSGContext2DImageTexture::QSGContext2DImageTexture(bool threadRendering)
 
 QSGContext2DImageTexture::~QSGContext2DImageTexture()
 {
-    m_texture->deleteLater();
+    delete m_texture;
 }
 
 int QSGContext2DImageTexture::textureId() const