summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorMarc Mutz <marc.mutz@qt.io>2024-03-21 17:47:58 +0100
committerMarc Mutz <marc.mutz@qt.io>2024-04-24 22:32:15 +0200
commitd6c7b0c2bcb15acb815d02a170d5ff7c57470dc1 (patch)
tree9551ada75a462c6afa234f0e50596d93a3b0d227 /src
parentef2b55ee65a971e02c953aff018a74137ba80492 (diff)
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>
Diffstat (limited to 'src')
-rw-r--r--src/testlib/qsignalspy.cpp8
-rw-r--r--src/testlib/qsignalspy.h4
2 files changed, 7 insertions, 5 deletions
diff --git a/src/testlib/qsignalspy.cpp b/src/testlib/qsignalspy.cpp
index a4c0291481..05b9868e34 100644
--- a/src/testlib/qsignalspy.cpp
+++ b/src/testlib/qsignalspy.cpp
@@ -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)
diff --git a/src/testlib/qsignalspy.h b/src/testlib/qsignalspy.h
index b15831768b..af9587b369 100644
--- a/src/testlib/qsignalspy.h
+++ b/src/testlib/qsignalspy.h
@@ -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