From d295b9b9cfc8bde021bf07ea997d8cd0d14cffb8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C4=99drzej=20Nowacki?= Date: Tue, 13 Mar 2012 16:36:49 +0100 Subject: Simplify QMetaObject::newInstance To create space on stack for a QObject pointer QVariant is not really essential. Change-Id: Iaf04a4f77005e33823f0e14bfdc6fe927cb59867 Reviewed-by: Olivier Goffart Reviewed-by: Kent Hansen --- src/corelib/kernel/qmetaobject.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) (limited to 'src/corelib/kernel/qmetaobject.cpp') diff --git a/src/corelib/kernel/qmetaobject.cpp b/src/corelib/kernel/qmetaobject.cpp index cacd999869..428c2629ff 100644 --- a/src/corelib/kernel/qmetaobject.cpp +++ b/src/corelib/kernel/qmetaobject.cpp @@ -207,13 +207,13 @@ QObject *QMetaObject::newInstance(QGenericArgument val0, if (idx < 0) return 0; - QVariant ret(QMetaType::QObjectStar, (void*)0); - void *param[] = {ret.data(), val0.data(), val1.data(), val2.data(), val3.data(), val4.data(), + QObject *returnValue = 0; + void *param[] = {&returnValue, val0.data(), val1.data(), val2.data(), val3.data(), val4.data(), val5.data(), val6.data(), val7.data(), val8.data(), val9.data()}; if (static_metacall(CreateInstance, idx, param) >= 0) return 0; - return *reinterpret_cast(param[0]); + return returnValue; } /*! -- cgit v1.2.3