From 64a735eed688e4dbf52aa3caf4caea53c4c211ec Mon Sep 17 00:00:00 2001 From: =?utf8?q?J=C4=99drzej=20Nowacki?= Date: Fri, 6 Jan 2012 12:13:49 +0100 Subject: [PATCH] Small QMetaType optimization. Prefer compile time check over a runtime. Change-Id: Ib78563083c765d1fd72217c5aa529d0cbb951130 Reviewed-by: Olivier Goffart --- src/corelib/kernel/qmetatype.cpp | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/src/corelib/kernel/qmetatype.cpp b/src/corelib/kernel/qmetatype.cpp index c5e3d21..7132a09 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::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::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::IsGui) { Q_ASSERT(qMetaTypeGuiHelper); if (!qMetaTypeGuiHelper) return; dtor = qMetaTypeGuiHelper[type - QMetaType::FirstGuiType].destructor; - } else if (type >= QMetaType::FirstWidgetsType && type <= QMetaType::LastWidgetsType) { + } else if (QTypeModuleInfo::IsWidget) { Q_ASSERT(qMetaTypeWidgetsHelper); if (!qMetaTypeWidgetsHelper) return; @@ -1600,12 +1600,12 @@ class SizeOf { struct SizeOfImpl { static int Size(const int type) { - if (type >= QMetaType::FirstGuiType && type <= QMetaType::LastGuiType) { + if (QTypeModuleInfo::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::IsWidget) { Q_ASSERT(qMetaTypeWidgetsHelper); if (!qMetaTypeWidgetsHelper) return 0; -- 2.7.4