summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/corelib/kernel/qobject.cpp7
-rw-r--r--src/gui/graphicsview/qgraphicsitem.cpp2
2 files changed, 2 insertions, 7 deletions
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp
index 7be19b3..5303975 100644
--- a/src/corelib/kernel/qobject.cpp
+++ b/src/corelib/kernel/qobject.cpp
@@ -835,14 +835,7 @@ QObject::QObject(QObjectPrivate &dd, QObject *parent)
QObject::~QObject()
{
Q_D(QObject);
- if (d->wasDeleted) {
-#if defined(QT_DEBUG)
- qWarning("QObject: Double deletion detected");
-#endif
- return;
- }
d->wasDeleted = true;
-
d->blockSig = 0; // unblock signals so we always emit destroyed()
if (!d->isWidget) {
diff --git a/src/gui/graphicsview/qgraphicsitem.cpp b/src/gui/graphicsview/qgraphicsitem.cpp
index ad672a3..2e68d3e 100644
--- a/src/gui/graphicsview/qgraphicsitem.cpp
+++ b/src/gui/graphicsview/qgraphicsitem.cpp
@@ -1286,6 +1286,8 @@ QGraphicsItem::QGraphicsItem(QGraphicsItemPrivate &dd, QGraphicsItem *parent,
*/
QGraphicsItem::~QGraphicsItem()
{
+ if (d_ptr->isObject)
+ QObjectPrivate::get(static_cast<QGraphicsObject *>(this))->wasDeleted = true;
d_ptr->inDestructor = 1;
d_ptr->removeExtraItemCache();