diff options
Diffstat (limited to 'src/corelib/kernel/qobject.cpp')
| -rw-r--r-- | src/corelib/kernel/qobject.cpp | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/src/corelib/kernel/qobject.cpp b/src/corelib/kernel/qobject.cpp index 980fefc4eae..aa429636bd3 100644 --- a/src/corelib/kernel/qobject.cpp +++ b/src/corelib/kernel/qobject.cpp @@ -622,7 +622,7 @@ QQueuedMetaCallEvent::~QQueuedMetaCallEvent() } if (d.nargs_) { if (static_cast<void *>(d.args_) != prealloc_) - free(d.args_); + QtPrivate::sizedFree(d.args_, d.nargs_, PtrAndTypeSize); } } @@ -634,9 +634,8 @@ inline void QQueuedMetaCallEvent::allocArgs() if (!d.nargs_) return; - constexpr size_t each = sizeof(void*) + sizeof(QMetaType); - void *const memory = d.nargs_ * each > sizeof(prealloc_) ? - calloc(d.nargs_, each) : prealloc_; + void *const memory = d.nargs_ * PtrAndTypeSize > sizeof(prealloc_) ? + calloc(d.nargs_, PtrAndTypeSize) : prealloc_; Q_CHECK_PTR(memory); d.args_ = static_cast<void **>(memory); |
