diff --git a/src/testlib/qsignalspy.h b/src/testlib/qsignalspy.h index d47b148d092..82671c5eb11 100644 --- a/src/testlib/qsignalspy.h +++ b/src/testlib/qsignalspy.h @@ -71,13 +71,7 @@ private: if (!isObjectValid(obj)) return {}; - if (!signal0) { - qWarning("QSignalSpy: Null signal pointer is not valid"); - return {}; - } - - const QMetaMethod signalMetaMethod = QMetaMethod::fromSignal(signal0); - return verify(obj, signalMetaMethod); + return verify(obj, QMetaMethod::fromSignal(signal0)); } public: #endif // Q_QDOC @@ -157,12 +151,17 @@ private: static bool isSignalMetaMethodValid(const QMetaMethod &signal) { - const bool valid = signal.isValid() && signal.methodType() == QMetaMethod::Signal; + if (!signal.isValid()) { + qWarning("QSignalSpy: Null signal is not valid"); + return false; + } - if (!valid) - qWarning("QSignalSpy: Not a valid signal: '%s'", signal.methodSignature().constData()); + if (signal.methodType() != QMetaMethod::Signal) { + qWarning("QSignalSpy: Not a signal: '%s'", signal.methodSignature().constData()); + return false; + } - return valid; + return true; } static bool isObjectValid(const QObject *object) diff --git a/tests/auto/testlib/qsignalspy/tst_qsignalspy.cpp b/tests/auto/testlib/qsignalspy/tst_qsignalspy.cpp index 40dc83ec285..66f8b005057 100644 --- a/tests/auto/testlib/qsignalspy/tst_qsignalspy.cpp +++ b/tests/auto/testlib/qsignalspy/tst_qsignalspy.cpp @@ -485,12 +485,12 @@ void tst_QSignalSpy::spyOnMetaMethod_invalid_data() << QMetaMethod(); QTest::addRow("Empty signal") - << "QSignalSpy: Not a valid signal: ''"_ba + << "QSignalSpy: Null signal is not valid"_ba << new QObject(this) << QMetaMethod(); QTest::addRow("Method is not a signal") - << "QSignalSpy: Not a valid signal: 'deleteLater()'"_ba + << "QSignalSpy: Not a signal: 'deleteLater()'"_ba << new QObject(this) << QObject::staticMetaObject.method(QObject::staticMetaObject.indexOfMethod("deleteLater()")); }