diff options
Diffstat (limited to 'tests')
-rw-r--r-- | tests/auto/corelib/kernel/qobject/tst_qobject.cpp | 20 |
1 files changed, 20 insertions, 0 deletions
diff --git a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp index f4c028c83e..5cf1f0e50f 100644 --- a/tests/auto/corelib/kernel/qobject/tst_qobject.cpp +++ b/tests/auto/corelib/kernel/qobject/tst_qobject.cpp @@ -71,6 +71,7 @@ private slots: void disconnectNotify_metaObjConnection(); void connectNotify_connectSlotsByName(); void connectDisconnectNotify_shadowing(); + void connectReferenceToIncompleteTypes(); void emitInDefinedOrder(); void customTypes(); void streamCustomTypes(); @@ -881,6 +882,25 @@ void tst_QObject::connectDisconnectNotify() QCOMPARE(s.connectedSignals.size(), 1); } +struct Incomplete; +class QObjectWithIncomplete : public QObject { + Q_OBJECT + +public: + QObjectWithIncomplete(QObject *parent=nullptr) : QObject(parent) {} +signals: + void signalWithIncomplete(const Incomplete &); +public slots: + void slotWithIncomplete(const Incomplete &) {} +}; + +void tst_QObject::connectReferenceToIncompleteTypes() { + QObjectWithIncomplete withIncomplete; + auto connection = QObject::connect(&withIncomplete, &QObjectWithIncomplete::signalWithIncomplete, + &withIncomplete, &QObjectWithIncomplete::slotWithIncomplete); + QVERIFY(connection); +} + static void connectDisconnectNotifyTestSlot() {} void tst_QObject::connectDisconnectNotifyPMF() |