From 30254c62db93c5724fe94eeef08a42fc3fbe6465 Mon Sep 17 00:00:00 2001 From: Friedemann Kleint Date: Fri, 27 Nov 2020 11:24:18 +0100 Subject: PySide6/QtQml: Fix compilation with new QMetaTypeInterface After qtbase/b4c17476129e07dd3bf52c6aac8a51cf30c2dd3a, a function returning the QMetaObject * is required. Task-number: QTBUG-88468 Change-Id: I2d957ff97a2bfa04578873ce098b1e623edf759a Reviewed-by: Fabian Kosmale --- sources/pyside6/PySide6/QtQuick/pysidequickregistertype.cpp | 12 +++++++++--- 1 file changed, 9 insertions(+), 3 deletions(-) (limited to 'sources/pyside6') diff --git a/sources/pyside6/PySide6/QtQuick/pysidequickregistertype.cpp b/sources/pyside6/PySide6/QtQuick/pysidequickregistertype.cpp index fdc1a5656..104e7683c 100644 --- a/sources/pyside6/PySide6/QtQuick/pysidequickregistertype.cpp +++ b/sources/pyside6/PySide6/QtQuick/pysidequickregistertype.cpp @@ -84,15 +84,21 @@ template struct QPysideQmlMetaTypeInterface : QtPrivate::QMetaTypeInterface { const QByteArray name; + const QMetaObject *metaObject; - QPysideQmlMetaTypeInterface(const QByteArray &name, const QMetaObject *metaObject = nullptr) + static const QMetaObject *metaObjectFn(const QMetaTypeInterface *mti) + { + return static_cast(mti)->metaObject; + } + + QPysideQmlMetaTypeInterface(const QByteArray &name, const QMetaObject *metaObjectIn = nullptr) : QMetaTypeInterface { /*.revision=*/ 0, /*.alignment=*/ alignof(T), /*.size=*/ sizeof(T), /*.flags=*/ QtPrivate::QMetaTypeTypeFlags::Flags, /*.typeId=*/ 0, - /*.metaObject=*/ metaObject, + /*.metaObjectFn=*/ metaObjectFn, /*.name=*/ name.constData(), /*.defaultCtr=*/ [](const QMetaTypeInterface *, void *addr) { new (addr) T(); }, /*.copyCtr=*/ [](const QMetaTypeInterface *, void *addr, const void *other) { @@ -111,7 +117,7 @@ struct QPysideQmlMetaTypeInterface : QtPrivate::QMetaTypeInterface /*.dataStreamIn=*/ nullptr, /*.legacyRegisterOp=*/ nullptr } - , name(name) {} + , name(name), metaObject(metaObjectIn) {} }; template -- cgit v1.2.3