summaryrefslogtreecommitdiffstats
path: root/src/corelib/kernel/qobjectdefs.h
diff options
context:
space:
mode:
authorOlivier Goffart <ogoffart@woboq.com>2012-01-13 20:09:19 +0100
committerQt by Nokia <qt-info@nokia.com>2012-04-25 20:19:29 +0200
commit67f58040ea10255af2c09149f16ce683f00dc7a2 (patch)
treee6bc102b638da2821d9211d9134a46e57f6fa7d8 /src/corelib/kernel/qobjectdefs.h
parent7b118c6456ba85a9f1c2fc0406d52829f1c8cdae (diff)
Remove QMetaObjectExtraData and put everything into QMetaObject
QMetaObjectExtraData was added when support for QMetaObject::newInstance was added. One needed a place to put the pointer to static_metacall in the QMetaObject. But as we break binary compatibility, one can change the size of QMetaObject, and put everything back inside QMetaObject's own structure. Meaning it is not required anymore to have one QMetaObjectExtraData instance per QMetaObject anymore. Change-Id: If0b8f586cbaf633eed10045adee3ba3366826c86 Reviewed-by: Bradley T. Hughes <bradley.hughes@nokia.com> Reviewed-by: Kent Hansen <kent.hansen@nokia.com> Reviewed-by: Jędrzej Nowacki <jedrzej.nowacki@nokia.com>
Diffstat (limited to 'src/corelib/kernel/qobjectdefs.h')
-rw-r--r--src/corelib/kernel/qobjectdefs.h19
1 files changed, 5 insertions, 14 deletions
diff --git a/src/corelib/kernel/qobjectdefs.h b/src/corelib/kernel/qobjectdefs.h
index a52961bab7..cc442457b0 100644
--- a/src/corelib/kernel/qobjectdefs.h
+++ b/src/corelib/kernel/qobjectdefs.h
@@ -57,7 +57,7 @@ struct QByteArrayData;
class QString;
#ifndef Q_MOC_OUTPUT_REVISION
-#define Q_MOC_OUTPUT_REVISION 65
+#define Q_MOC_OUTPUT_REVISION 66
#endif
// The following macros are our "extensions" to C++
@@ -160,7 +160,6 @@ public: \
QT_TR_FUNCTIONS \
virtual int qt_metacall(QMetaObject::Call, int, void **); \
private: \
- Q_DECL_HIDDEN static const QMetaObjectExtraData staticMetaObjectExtraData; \
Q_DECL_HIDDEN_STATIC_METACALL static void qt_static_metacall(QObject *, QMetaObject::Call, int, void **);
/* tmake ignore Q_OBJECT */
@@ -453,7 +452,10 @@ struct Q_CORE_EXPORT QMetaObject
const QMetaObject *superdata;
const QByteArrayData *stringdata;
const uint *data;
- const void *extradata;
+ typedef void (*StaticMetacallFunction)(QObject *, QMetaObject::Call, int, void **);
+ StaticMetacallFunction static_metacall;
+ const QMetaObject **relatedMetaObjects;
+ void *extradata; //reserved for future use
} d;
};
@@ -481,17 +483,6 @@ public:
#endif
};
-typedef const QMetaObject& (*QMetaObjectAccessor)();
-
-struct QMetaObjectExtraData
-{
- const QMetaObject **objects;
-
- typedef void (*StaticMetacallFunction)(QObject *, QMetaObject::Call, int, void **); //from revision 6
- //typedef int (*StaticMetaCall)(QMetaObject::Call, int, void **); //used from revison 2 until revison 5
- StaticMetacallFunction static_metacall;
-};
-
inline const QMetaObject *QMetaObject::superClass() const
{ return d.superdata; }