summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qmetaobject.cpp
diff options
context:
space:
mode:
authorJędrzej Nowacki <jedrzej.nowacki@nokia.com>2012-03-13 16:36:49 +0100
committerQt by Nokia <qt-info@nokia.com>2012-03-14 23:04:57 +0100
commitd295b9b9cfc8bde021bf07ea997d8cd0d14cffb8 (patch)
tree90499b450c1feaf8e300a5276cec1509cfe9df0d /src/corelib/kernel/qmetaobject.cpp
parentdfba10441ea1645ea7183f4b1486366bb4562f39 (diff)
Simplify QMetaObject::newInstance
To create space on stack for a QObject pointer QVariant is not really essential. Change-Id: Iaf04a4f77005e33823f0e14bfdc6fe927cb59867 Reviewed-by: Olivier Goffart <ogoffart@woboq.com> Reviewed-by: Kent Hansen <kent.hansen@nokia.com>
Diffstat (limited to 'src/corelib/kernel/qmetaobject.cpp')
-rw-r--r--src/corelib/kernel/qmetaobject.cpp6
1 files changed, 3 insertions, 3 deletions
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<QObject**>(param[0]);
+ return returnValue;
}
/*!