summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@digia.com>2012-11-20 13:34:06 +0100
committerThe Qt Project <gerrit-noreply@qt-project.org>2012-11-23 17:04:00 +0100
commit43619db05d55ca619dac11fdb7327b2b45507cb9 (patch)
tree189b51b67bc5c6384cc5693a3e6bba01c737d914 /src/corelib/kernel
parent3101e48b2c9449e6634a01ceb9a2d79598dbd368 (diff)
Emit destroyed() signal before children get deleted
Make sure we always emit the destroyed() signal before we delete our children. This wasn't working correctly for QWidget based classes, as the QWidget destructor deletes all children itself. Task-number: QTBUG-24672 Change-Id: Iecdff3489196271177edfeba1c4a2c5800e255af Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
Diffstat (limited to 'src/corelib/kernel')
-rw-r--r--src/corelib/kernel/qobject.cpp2
1 files changed, 1 insertions, 1 deletions
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp
index 0d97266f4f..9d0854f3a9 100644
--- a/src/corelib/kernel/qobject.cpp
+++ b/src/corelib/kernel/qobject.cpp
@@ -766,7 +766,7 @@ QObject::~QObject()
delete sharedRefcount;
}
- if (d->isSignalConnected(0)) {
+ if (!d->isWidget && d->isSignalConnected(0)) {
QT_TRY {
emit destroyed(this);
} QT_CATCH(...) {