summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJędrzej Nowacki <jedrzej.nowacki@nokia.com>2012-01-06 12:13:49 +0100
committerQt by Nokia <qt-info@nokia.com>2012-01-10 01:25:59 +0100
commit64a735eed688e4dbf52aa3caf4caea53c4c211ec (patch)
tree41894d65235621aa1b20c45ccb7aabbd956d2de2
parent3d7ce0e96a12b1138308c8519e442caf56f1dbe9 (diff)
Small QMetaType optimization.
Prefer compile time check over a runtime. Change-Id: Ib78563083c765d1fd72217c5aa529d0cbb951130 Reviewed-by: Olivier Goffart <ogoffart@woboq.com>
-rw-r--r--src/corelib/kernel/qmetatype.cpp12
1 files changed, 6 insertions, 6 deletions
diff --git a/src/corelib/kernel/qmetatype.cpp b/src/corelib/kernel/qmetatype.cpp
index c5e3d21c6d..7132a099a2 100644
--- a/src/corelib/kernel/qmetatype.cpp
+++ b/src/corelib/kernel/qmetatype.cpp
@@ -1434,12 +1434,12 @@ class TypeConstructor {
static void *Construct(const int type, void *where, const T *copy)
{
QMetaType::Constructor ctor = 0;
- if (type >= QMetaType::FirstGuiType && type <= QMetaType::LastGuiType) {
+ if (QTypeModuleInfo<T>::IsGui) {
Q_ASSERT(qMetaTypeGuiHelper);
if (!qMetaTypeGuiHelper)
return 0;
ctor = qMetaTypeGuiHelper[type - QMetaType::FirstGuiType].constructor;
- } else if (type >= QMetaType::FirstWidgetsType && type <= QMetaType::LastWidgetsType) {
+ } else if (QTypeModuleInfo<T>::IsWidget) {
Q_ASSERT(qMetaTypeWidgetsHelper);
if (!qMetaTypeWidgetsHelper)
return 0;
@@ -1526,12 +1526,12 @@ class TypeDestructor {
static void Destruct(const int type, void *where)
{
QMetaType::Destructor dtor = 0;
- if (type >= QMetaType::FirstGuiType && type <= QMetaType::LastGuiType) {
+ if (QTypeModuleInfo<T>::IsGui) {
Q_ASSERT(qMetaTypeGuiHelper);
if (!qMetaTypeGuiHelper)
return;
dtor = qMetaTypeGuiHelper[type - QMetaType::FirstGuiType].destructor;
- } else if (type >= QMetaType::FirstWidgetsType && type <= QMetaType::LastWidgetsType) {
+ } else if (QTypeModuleInfo<T>::IsWidget) {
Q_ASSERT(qMetaTypeWidgetsHelper);
if (!qMetaTypeWidgetsHelper)
return;
@@ -1600,12 +1600,12 @@ class SizeOf {
struct SizeOfImpl<T, /* IsAcceptedType = */ false> {
static int Size(const int type)
{
- if (type >= QMetaType::FirstGuiType && type <= QMetaType::LastGuiType) {
+ if (QTypeModuleInfo<T>::IsGui) {
Q_ASSERT(qMetaTypeGuiHelper);
if (!qMetaTypeGuiHelper)
return 0;
return qMetaTypeGuiHelper[type - QMetaType::FirstGuiType].size;
- } else if (type >= QMetaType::FirstWidgetsType && type <= QMetaType::LastWidgetsType) {
+ } else if (QTypeModuleInfo<T>::IsWidget) {
Q_ASSERT(qMetaTypeWidgetsHelper);
if (!qMetaTypeWidgetsHelper)
return 0;