diff options
-rw-r--r-- | src/testlib/qsignalspy.cpp | 8 | ||||
-rw-r--r-- | src/testlib/qsignalspy.h | 4 |
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 |