diff --git a/src/testlib/qsignalspy.cpp b/src/testlib/qsignalspy.cpp index 78eb14e6d8..3f06a09deb 100644 --- a/src/testlib/qsignalspy.cpp +++ b/src/testlib/qsignalspy.cpp @@ -244,6 +244,17 @@ QList QSignalSpy::makeArgs(const QMetaMethod &member, const QObject *obj) return result; } +void QSignalSpy::init(ObjectSignal os) +{ + if (!os.obj) + return; + + if (!connectToSignal(os.obj, os.sig.methodIndex())) + return; + + sig = os.sig.methodSignature(); +} + bool QSignalSpy::connectToSignal(const QObject *sender, int sigIndex) { static const int memberOffset = QObject::staticMetaObject.methodCount(); diff --git a/src/testlib/qsignalspy.h b/src/testlib/qsignalspy.h index 5f52c1dcdf..3fc6d9483a 100644 --- a/src/testlib/qsignalspy.h +++ b/src/testlib/qsignalspy.h @@ -65,20 +65,14 @@ private: explicit QSignalSpy(ObjectSignal os) : args(os.obj ? makeArgs(os.sig, os.obj) : QList{}) { - if (!os.obj) - return; - - if (!connectToSignal(os.obj, os.sig.methodIndex())) - return; - - sig = os.sig.methodSignature(); + init(os); } - + Q_TESTLIB_EXPORT void init(ObjectSignal os); Q_TESTLIB_EXPORT static ObjectSignal verify(const QObject *obj, QMetaMethod signal); Q_TESTLIB_EXPORT static ObjectSignal verify(const QObject *obj, const char *aSignal); - Q_TESTLIB_EXPORT bool connectToSignal(const QObject *sender, int sigIndex); + bool connectToSignal(const QObject *sender, int sigIndex); Q_TESTLIB_EXPORT static QList makeArgs(const QMetaMethod &member, const QObject *obj); Q_TESTLIB_EXPORT void appendArgs(void **a);