summaryrefslogtreecommitdiffstats
path: root/src/testlib/qsignalspy.h
diff options
context:
space:
mode:
authorJason McDonald <jason.mcdonald@nokia.com>2011-05-12 17:23:14 +1000
committerJason McDonald <jason.mcdonald@nokia.com>2011-05-13 10:42:06 +1000
commitd9119535a2e3fcb977998ab1f7006f8a15b5a140 (patch)
treef8b55075e929f99543e4325f519987fcd6218061 /src/testlib/qsignalspy.h
parente40443f7dfaa77e1295390385ef76f9b4e87c59b (diff)
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
Diffstat (limited to 'src/testlib/qsignalspy.h')
-rw-r--r--src/testlib/qsignalspy.h11
1 files changed, 9 insertions, 2 deletions
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");