QSignalSpy: make initArgs() return the result
... instead of working directly on the member variable. This is in preparation of making said member variable const, so it need no longer be protected by the mutex. Task-number: QTBUG-123544 Change-Id: Ifc407502ec2c5c52dc3b42edea18be7fc672a968 Reviewed-by: David Faure <david.faure@kdab.com>bb10
parent
ef2b55ee65
commit
d6c7b0c2bc
|
|
@ -220,10 +220,11 @@ QSignalSpy::ObjectSignal QSignalSpy::verify(const QObject *obj, QMetaMethod sign
|
|||
return {};
|
||||
}
|
||||
|
||||
void QSignalSpy::initArgs(const QMetaMethod &member, const QObject *obj)
|
||||
QList<int> QSignalSpy::makeArgs(const QMetaMethod &member, const QObject *obj)
|
||||
{
|
||||
QList<int> result;
|
||||
QMutexLocker locker(&m_mutex);
|
||||
args.reserve(member.parameterCount());
|
||||
result.reserve(member.parameterCount());
|
||||
for (int i = 0; i < member.parameterCount(); ++i) {
|
||||
QMetaType tp = member.parameterMetaType(i);
|
||||
if (!tp.isValid() && obj) {
|
||||
|
|
@ -241,8 +242,9 @@ void QSignalSpy::initArgs(const QMetaMethod &member, const QObject *obj)
|
|||
member.parameterTypes().at(i).constData(),
|
||||
member.name().constData());
|
||||
}
|
||||
args << tp.id();
|
||||
result.append(tp.id());
|
||||
}
|
||||
return result;
|
||||
}
|
||||
|
||||
bool QSignalSpy::connectToSignal(const QObject *sender, int sigIndex)
|
||||
|
|
|
|||
|
|
@ -66,7 +66,7 @@ private:
|
|||
{
|
||||
if (!os.obj)
|
||||
return;
|
||||
initArgs(os.sig, os.obj);
|
||||
args = makeArgs(os.sig, os.obj);
|
||||
if (!connectToSignal(os.obj, os.sig.methodIndex()))
|
||||
return;
|
||||
|
||||
|
|
@ -82,7 +82,7 @@ private:
|
|||
Q_TESTLIB_EXPORT static bool isSignalMetaMethodValid(const QMetaMethod &signal);
|
||||
Q_TESTLIB_EXPORT static bool isObjectValid(const QObject *object);
|
||||
|
||||
Q_TESTLIB_EXPORT void initArgs(const QMetaMethod &member, const QObject *obj);
|
||||
Q_TESTLIB_EXPORT QList<int> makeArgs(const QMetaMethod &member, const QObject *obj);
|
||||
Q_TESTLIB_EXPORT void appendArgs(void **a);
|
||||
|
||||
// the full, normalized signal name
|
||||
|
|
|
|||
Loading…
Reference in New Issue