summaryrefslogtreecommitdiffstats
path: root/tests/auto
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 /tests/auto
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 'tests/auto')
-rw-r--r--tests/auto/corelib/kernel/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp23
-rw-r--r--tests/auto/tools/moc/tst_moc.cpp5
2 files changed, 4 insertions, 24 deletions
diff --git a/tests/auto/corelib/kernel/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp b/tests/auto/corelib/kernel/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp
index 4b0a64ab54..8ae79e03a7 100644
--- a/tests/auto/corelib/kernel/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp
+++ b/tests/auto/corelib/kernel/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp
@@ -1316,25 +1316,8 @@ bool tst_QMetaObjectBuilder::sameMetaObject
return false;
}
- const QMetaObject **objects1 = 0;
- const QMetaObject **objects2 = 0;
- if (meta1->d.data[0] == meta2->d.data[0] && meta1->d.data[0] >= 2) {
- QMetaObjectExtraData *extra1 = (QMetaObjectExtraData *)(meta1->d.extradata);
- QMetaObjectExtraData *extra2 = (QMetaObjectExtraData *)(meta2->d.extradata);
- if (extra1 && !extra2)
- return false;
- if (extra2 && !extra1)
- return false;
- if (extra1 && extra2) {
- if (extra1->static_metacall != extra2->static_metacall)
- return false;
- objects1 = extra1->objects;
- objects2 = extra1->objects;
- }
- } else if (meta1->d.data[0] == meta2->d.data[0] && meta1->d.data[0] == 1) {
- objects1 = (const QMetaObject **)(meta1->d.extradata);
- objects2 = (const QMetaObject **)(meta2->d.extradata);
- }
+ const QMetaObject **objects1 = meta1->d.relatedMetaObjects;
+ const QMetaObject **objects2 = meta2->d.relatedMetaObjects;
if (objects1 && !objects2)
return false;
if (objects2 && !objects1)
@@ -1402,7 +1385,7 @@ private:
};
QMetaObject TestObject::staticMetaObject = {
- { 0, 0, 0, 0 }
+ { 0, 0, 0, 0, 0, 0 }
};
TestObject::TestObject(QObject *parent)
diff --git a/tests/auto/tools/moc/tst_moc.cpp b/tests/auto/tools/moc/tst_moc.cpp
index 78e18f9229..b354e0a82a 100644
--- a/tests/auto/tools/moc/tst_moc.cpp
+++ b/tests/auto/tools/moc/tst_moc.cpp
@@ -847,10 +847,7 @@ void tst_Moc::testExtraDataForEnum()
const QMetaObject *mobjUser = &EnumUserClass::staticMetaObject;
QCOMPARE(mobjUser->enumeratorCount(), 0);
- const QMetaObjectExtraData *extra = reinterpret_cast<const QMetaObjectExtraData *>(mobjUser->d.extradata);
- QVERIFY(extra);
-
- const QMetaObject **objects = extra->objects;
+ const QMetaObject **objects = mobjUser->d.relatedMetaObjects;
QVERIFY(objects);
QVERIFY(objects[0] == mobjSource);
QVERIFY(objects[1] == 0);