summaryrefslogtreecommitdiffstats
path: root/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'tests/auto/corelib/kernel/qobject/tst_qobject.cpp')
-rw-r--r--tests/auto/corelib/kernel/qobject/tst_qobject.cpp11
1 files changed, 11 insertions, 0 deletions
diff --git a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
index 5ecdd92228..1f98f64340 100644
--- a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
+++ b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp
@@ -151,6 +151,7 @@ private slots:
void deleteLaterInAboutToBlockHandler();
void mutableFunctor();
void checkArgumentsForNarrowing();
+ void nullReceiver();
};
struct QObjectCreatedOnShutdown
@@ -7422,6 +7423,16 @@ void tst_QObject::checkArgumentsForNarrowing()
#undef FITS
}
+void tst_QObject::nullReceiver()
+{
+ QObject o;
+ QObject *nullObj = nullptr; // Passing nullptr directly doesn't compile with gcc 4.8
+ QVERIFY(!connect(&o, &QObject::destroyed, nullObj, &QObject::deleteLater));
+ QVERIFY(!connect(&o, &QObject::destroyed, nullObj, [] {}));
+ QVERIFY(!connect(&o, &QObject::destroyed, nullObj, Functor_noexcept()));
+ QVERIFY(!connect(&o, SIGNAL(destroyed()), nullObj, SLOT(deleteLater())));
+}
+
// Test for QtPrivate::HasQ_OBJECT_Macro
Q_STATIC_ASSERT(QtPrivate::HasQ_OBJECT_Macro<tst_QObject>::Value);
Q_STATIC_ASSERT(!QtPrivate::HasQ_OBJECT_Macro<SiblingDeleter>::Value);