summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/corelib')
-rw-r--r--tests/auto/corelib/kernel/qobject/tst_qobject.cpp21
1 files changed, 17 insertions, 4 deletions
diff --git a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
index 225e06a552..1e690386dc 100644
--- a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
+++ b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
@@ -4101,12 +4101,25 @@ public slots:
}
};
+static void processEvents()
+{
+ qApp->processEvents();
+}
+
void tst_QObject::baseDestroyed()
{
- BaseDestroyed d;
- connect(&d, SIGNAL(destroyed()), &d, SLOT(slotUseList()));
- //When d goes out of scope, slotUseList should not be called as the BaseDestroyed has
- // already been destroyed while ~QObject emit destroyed
+ {
+ BaseDestroyed d;
+ connect(&d, SIGNAL(destroyed()), &d, SLOT(slotUseList()));
+ //When d goes out of scope, slotUseList should not be called as the BaseDestroyed has
+ // already been destroyed while ~QObject emit destroyed
+ }
+ {
+ BaseDestroyed d;
+ connect(&d, &QObject::destroyed, processEvents);
+ QMetaObject::invokeMethod(&d, "slotUseList", Qt::QueuedConnection);
+ //the destructor will call processEvents, that should not call the slotUseList
+ }
}
void tst_QObject::pointerConnect()