summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/testlib/qsignalspy.h11
-rw-r--r--src/testlib/qsignalspy.qdoc6
2 files changed, 14 insertions, 3 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");
diff --git a/src/testlib/qsignalspy.qdoc b/src/testlib/qsignalspy.qdoc
index 0c22868852..83dcccede2 100644
--- a/src/testlib/qsignalspy.qdoc
+++ b/src/testlib/qsignalspy.qdoc
@@ -62,7 +62,11 @@
/*! \fn QSignalSpy::QSignalSpy(QObject *object, const char *signal)
Constructs a new QSignalSpy that listens for emissions of the \a signal
- from the QObject \a object. Neither \a signal nor \a object can be null.
+ from the QObject \a object. If QSignalSpy is not able to listen for a
+ valid signal (for example, because \a object is null or \a signal does
+ not denote a valid signal of \a object), an explanatory warning message
+ will be output using qWarning() and subsequent calls to \c isValid() will
+ return false.
Example:
\snippet doc/src/snippets/code/doc_src_qsignalspy.cpp 4