aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorFriedemann Kleint <Friedemann.Kleint@qt.io>2020-11-27 11:24:18 +0100
committerFriedemann Kleint <Friedemann.Kleint@qt.io>2020-11-27 10:44:43 +0000
commit30254c62db93c5724fe94eeef08a42fc3fbe6465 (patch)
treecc088bb9c991dff4fb1ef5baaff0aaeaa0504f01
parentfbd3ff2256a338a04f08923620216076be64106d (diff)
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 <fabian.kosmale@qt.io>
-rw-r--r--sources/pyside6/PySide6/QtQuick/pysidequickregistertype.cpp12
1 files changed, 9 insertions, 3 deletions
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 <typename T>
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<const QPysideQmlMetaTypeInterface *>(mti)->metaObject;
+ }
+
+ QPysideQmlMetaTypeInterface(const QByteArray &name, const QMetaObject *metaObjectIn = nullptr)
: QMetaTypeInterface {
/*.revision=*/ 0,
/*.alignment=*/ alignof(T),
/*.size=*/ sizeof(T),
/*.flags=*/ QtPrivate::QMetaTypeTypeFlags<T>::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 <class WrapperClass>