summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qmetatype_p.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/corelib/kernel/qmetatype_p.h')
-rw-r--r--src/corelib/kernel/qmetatype_p.h13
1 files changed, 11 insertions, 2 deletions
diff --git a/src/corelib/kernel/qmetatype_p.h b/src/corelib/kernel/qmetatype_p.h
index cffc45c988..126acde8fa 100644
--- a/src/corelib/kernel/qmetatype_p.h
+++ b/src/corelib/kernel/qmetatype_p.h
@@ -130,6 +130,7 @@ public:
QMetaType::Destructor destructor;
int size;
quint32 flags; // same as QMetaType::TypeFlags
+ const QMetaObject *metaObject;
};
#ifndef QT_NO_DATASTREAM
@@ -147,6 +148,12 @@ public:
QT_METATYPE_INTERFACE_INIT_EMPTY_DATASTREAM_IMPL(Type)
#endif
+#ifndef QT_BOOTSTRAPPED
+#define METAOBJECT_DELEGATE(Type) (QtPrivate::MetaObjectForType<Type>::value())
+#else
+#define METAOBJECT_DELEGATE(Type) 0
+#endif
+
#define QT_METATYPE_INTERFACE_INIT_IMPL(Type, DATASTREAM_DELEGATE) \
{ \
/*creator*/(qMetaTypeCreateHelper<Type>), \
@@ -155,7 +162,8 @@ public:
/*constructor*/(qMetaTypeConstructHelper<Type>), \
/*destructor*/(qMetaTypeDestructHelper<Type>), \
/*size*/(QTypeInfo<Type>::sizeOf), \
- /*flags*/QtPrivate::QMetaTypeTypeFlags<Type>::Flags \
+ /*flags*/QtPrivate::QMetaTypeTypeFlags<Type>::Flags, \
+ /*metaObject*/METAOBJECT_DELEGATE(Type) \
}
@@ -179,7 +187,8 @@ public:
/*constructor*/ 0, \
/*destructor*/ 0, \
/*size*/ 0, \
- /*flags*/ 0 \
+ /*flags*/ 0, \
+ /*metaObject*/ 0 \
}
namespace QtMetaTypePrivate {