summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-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