From d9119535a2e3fcb977998ab1f7006f8a15b5a140 Mon Sep 17 00:00:00 2001 From: Jason McDonald Date: Thu, 12 May 2011 17:23:14 +1000 Subject: Make error checking in QSignalSpy consistent QSignalSpy's constructor failed gracefully for some problems with the parameters, but not for null parameters, for which there was only a Q_ASSERT. This commit makes the handling of null parameters consistent with the handling of other errors -- output a meaningful error message with qWarning() and return, so that isValid() will subsequently return false. Change-Id: I7f5677a4c10185e30403ce3e12a022de8c13bc1c Task-number: QTBUG-14283 Reviewed-by: Rohan McGovern --- src/testlib/qsignalspy.h | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) (limited to 'src/testlib/qsignalspy.h') diff --git a/src/testlib/qsignalspy.h b/src/testlib/qsignalspy.h index b0b48c5025..fce5aad56a 100644 --- a/src/testlib/qsignalspy.h +++ b/src/testlib/qsignalspy.h @@ -68,8 +68,15 @@ public: #else static const int memberOffset = QObject::staticMetaObject.methodCount(); #endif - Q_ASSERT(obj); - Q_ASSERT(aSignal); + if (!obj) { + qWarning("QSignalSpy: Cannot spy on a null object"); + return; + } + + if (!aSignal) { + qWarning("QSignalSpy: Null signal name is not valid"); + return; + } if (((aSignal[0] - '0') & 0x03) != QSIGNAL_CODE) { qWarning("QSignalSpy: Not a valid signal, use the SIGNAL macro"); -- cgit v1.2.3