QSignalSpy: Extract object validation to a separate method

Change-Id: I167a01257cfdb679cb81861bfae26d8fa40f8c27
Reviewed-by: Volker Hilsheimer <volker.hilsheimer@qt.io>
This commit is contained in:
Vitaly Fanaskov 2019-08-12 10:43:30 +02:00 committed by Volker Hilsheimer
parent 51567cbe21
commit 94a3f3a037

View File

@ -59,10 +59,8 @@ public:
explicit QSignalSpy(const QObject *obj, const char *aSignal)
: m_waiting(false)
{
if (!obj) {
qWarning("QSignalSpy: Cannot spy on a null object");
if (!isObjectValid(obj))
return;
}
if (!aSignal) {
qWarning("QSignalSpy: Null signal name is not valid");
@ -97,10 +95,8 @@ public:
QSignalSpy(const typename QtPrivate::FunctionPointer<Func>::Object *obj, Func signal0)
: m_waiting(false)
{
if (!obj) {
qWarning("QSignalSpy: Cannot spy on a null object");
if (!isObjectValid(obj))
return;
}
if (!signal0) {
qWarning("QSignalSpy: Null signal name is not valid");
@ -173,6 +169,16 @@ private:
return valid;
}
static bool isObjectValid(const QObject *object)
{
const bool valid = !!object;
if (!valid)
qWarning("QSignalSpy: Cannot spy on a null object");
return valid;
}
void initArgs(const QMetaMethod &member, const QObject *obj)
{
args.reserve(member.parameterCount());