summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorQt Continuous Integration System <qt-info@nokia.com>2011-05-13 11:48:59 +1000
committerQt Continuous Integration System <qt-info@nokia.com>2011-05-13 11:48:59 +1000
commit359c5e4a7199aef7d5d2964b5bf8c21673e9384d (patch)
treeeaac978146f567fbb60f8a795b3311cde2c86e68
parent0add5fe930e275924813376bb06cbfc0f5f779d3 (diff)
parentdd1a7a6379181765c3e8585f8fd12fb69f67c965 (diff)
Merge branch 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging
* 'master' of git://scm.dev.nokia.troll.no/qt/qtbase-staging: Make error checking in QSignalSpy consistent
-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