diff options
Diffstat (limited to 'src/testlib')
-rw-r--r-- | src/testlib/qsignalspy.h | 18 |
1 files changed, 12 insertions, 6 deletions
diff --git a/src/testlib/qsignalspy.h b/src/testlib/qsignalspy.h index 7a8f9efa9a..91c2d139a8 100644 --- a/src/testlib/qsignalspy.h +++ b/src/testlib/qsignalspy.h @@ -59,10 +59,8 @@ public: explicit QSignalSpy(const QObject *obj, const char *aSignal) : m_waiting(false) { - if (!obj) { - qWarning("QSignalSpy: Cannot spy on a null object"); + if (!isObjectValid(obj)) return; - } if (!aSignal) { qWarning("QSignalSpy: Null signal name is not valid"); @@ -97,10 +95,8 @@ public: QSignalSpy(const typename QtPrivate::FunctionPointer<Func>::Object *obj, Func signal0) : m_waiting(false) { - if (!obj) { - qWarning("QSignalSpy: Cannot spy on a null object"); + if (!isObjectValid(obj)) return; - } if (!signal0) { qWarning("QSignalSpy: Null signal name is not valid"); @@ -173,6 +169,16 @@ private: return valid; } + static bool isObjectValid(const QObject *object) + { + const bool valid = !!object; + + if (!valid) + qWarning("QSignalSpy: Cannot spy on a null object"); + + return valid; + } + void initArgs(const QMetaMethod &member, const QObject *obj) { args.reserve(member.parameterCount()); |