diff options
Diffstat (limited to 'src/corelib/kernel')
| -rw-r--r-- | src/corelib/kernel/qmetaobject.cpp | 3 | ||||
| -rw-r--r-- | src/corelib/kernel/qobject.cpp | 3 |
2 files changed, 4 insertions, 2 deletions
diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp index 7f000830e6a..cc26b6c19dc 100644 --- a/src/corelib/kernel/qmetaobject.cpp +++ b/src/corelib/kernel/qmetaobject.cpp @@ -2878,7 +2878,8 @@ auto QMetaMethodInvoker::invokeImpl(QMetaMethod self, void *target, return InvokeFailReason::CouldNotQueueParameter; } - QVarLengthArray<const QtPrivate::QMetaTypeInterface *> argTypes; + QVarLengthArray<const QtPrivate::QMetaTypeInterface *, 16> argTypes; + argTypes.reserve(paramCount); argTypes.emplace_back(nullptr); // return type // fill in the meta types first for (int i = 1; i < paramCount; ++i) { diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp index 790ccc29339..47d07970866 100644 --- a/src/corelib/kernel/qobject.cpp +++ b/src/corelib/kernel/qobject.cpp @@ -4191,7 +4191,8 @@ static void queued_activate(QObject *sender, int signal, QObjectPrivate::Connect SlotObjectGuard slotObjectGuard { c->isSlotObject ? c->slotObj : nullptr }; locker.unlock(); - QVarLengthArray<const QtPrivate::QMetaTypeInterface *> argTypes; + QVarLengthArray<const QtPrivate::QMetaTypeInterface *, 16> argTypes; + argTypes.reserve(nargs); argTypes.emplace_back(nullptr); // return type for (int n = 1; n < nargs; ++n) { argTypes.emplace_back(QMetaType(argumentTypes[n - 1]).iface()); // convert type ids to QMetaTypeInterfaces |
