summaryrefslogtreecommitdiffstats
path: root/src/gui
diff options
context:
space:
mode:
authorAlan Alpert <alan.alpert@nokia.com>2010-04-14 13:21:38 (GMT)
committerAlan Alpert <alan.alpert@nokia.com>2010-04-14 13:21:38 (GMT)
commit8a7199be73aea42eacf07c56a63d2b526204c8fb (patch)
tree5e2a58f65075ad9b1ba80f34156bc52c576ea3c0 /src/gui
parent90e3b63122ef0807c4c8a7e5c7772ea54c1874a4 (diff)
parent9ae50ce40c1bc571c867bc698f2c53839c2c6932 (diff)
downloadQt-8a7199be73aea42eacf07c56a63d2b526204c8fb.zip
Qt-8a7199be73aea42eacf07c56a63d2b526204c8fb.tar.gz
Qt-8a7199be73aea42eacf07c56a63d2b526204c8fb.tar.bz2
Merge branch '4.7' of scm.dev.nokia.troll.no:qt/qt-qml into 4.7
Diffstat (limited to 'src/gui')
-rw-r--r--src/gui/graphicsview/qgraphicsitem.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp
index 150343e..9e0ec2e 100644
--- a/src/gui/graphicsview/qgraphicsitem.cpp
+++ b/src/gui/graphicsview/qgraphicsitem.cpp
@@ -1408,8 +1408,16 @@ QGraphicsItem::QGraphicsItem(QGraphicsItemPrivate &dd, QGraphicsItem *parent,
*/
QGraphicsItem::~QGraphicsItem()
{
- if (d_ptr->isObject)
- QObjectPrivate::get(static_cast<QGraphicsObject *>(this))->wasDeleted = true;
+ if (d_ptr->isObject) {
+ QGraphicsObject *o = static_cast<QGraphicsObject *>(this);
+ QObjectPrivate *p = QObjectPrivate::get(o);
+ p->wasDeleted = true;
+ if (p->declarativeData) {
+ QDeclarativeData::destroyed(p->declarativeData, o);
+ p->declarativeData = 0;
+ }
+ }
+
d_ptr->inDestructor = 1;
d_ptr->removeExtraItemCache();