diff options
author | Qt Continuous Integration System <qt-info@nokia.com> | 2011-05-13 11:48:59 +1000 |
---|---|---|
committer | Qt Continuous Integration System <qt-info@nokia.com> | 2011-05-13 11:48:59 +1000 |
commit | 359c5e4a7199aef7d5d2964b5bf8c21673e9384d (patch) | |
tree | eaac978146f567fbb60f8a795b3311cde2c86e68 | |
parent | 0add5fe930e275924813376bb06cbfc0f5f779d3 (diff) | |
parent | dd1a7a6379181765c3e8585f8fd12fb69f67c965 (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.h | 11 | ||||
-rw-r--r-- | src/testlib/qsignalspy.qdoc | 6 |
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 |