diff options
Diffstat (limited to 'tests/auto/corelib/kernel/qmetaobjectbuilder')
-rw-r--r-- | tests/auto/corelib/kernel/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp | 28 |
1 files changed, 8 insertions, 20 deletions
diff --git a/tests/auto/corelib/kernel/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp b/tests/auto/corelib/kernel/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp index 4b0a64ab54..cfb23989dc 100644 --- a/tests/auto/corelib/kernel/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp +++ b/tests/auto/corelib/kernel/qmetaobjectbuilder/tst_qmetaobjectbuilder.cpp @@ -1097,6 +1097,11 @@ void tst_QMetaObjectBuilder::relocatableData() QMetaObject *meta = builder.toMetaObject(); QVERIFY(sameMetaObject(meta, &meta2)); + + QVERIFY(!meta2.d.extradata); + QVERIFY(!meta2.d.relatedMetaObjects); + QVERIFY(!meta2.d.static_metacall); + free(meta); } @@ -1316,25 +1321,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 +1390,7 @@ private: }; QMetaObject TestObject::staticMetaObject = { - { 0, 0, 0, 0 } + { 0, 0, 0, 0, 0, 0 } }; TestObject::TestObject(QObject *parent) |