aboutsummaryrefslogtreecommitdiffstats
path: root/src/qml/qml
diff options
context:
space:
mode:
authorLars Knoll <lars.knoll@qt.io>2020-07-10 10:33:49 +0200
committerShawn Rutledge <shawn.rutledge@qt.io>2020-08-28 13:49:11 +0200
commit2afed94c70913e018198422ef222c9168326d09c (patch)
tree526952d291b70065886377e540f9e149be2f1537 /src/qml/qml
parent6e423233b2e419fc3d7fc30bebcad976dca31934 (diff)
Fix QtQml after QMetaType/QVariant changes in Qt Core
Change-Id: I2a983cf8188e88d80d3b7726208d821427eb8f3c Reviewed-by: Fabian Kosmale <fabian.kosmale@qt.io>
Diffstat (limited to 'src/qml/qml')
-rw-r--r--src/qml/qml/qqmlengine.cpp10
-rw-r--r--src/qml/qml/qqmlmetatype.cpp13
2 files changed, 11 insertions, 12 deletions
diff --git a/src/qml/qml/qqmlengine.cpp b/src/qml/qml/qqmlengine.cpp
index 7191da694d..4326002575 100644
--- a/src/qml/qml/qqmlengine.cpp
+++ b/src/qml/qml/qqmlengine.cpp
@@ -767,23 +767,23 @@ void QQmlData::signalEmitted(QAbstractDeclarativeData *, QObject *object, int in
parameterTypes.count() + 1));
void **args = ev->args();
- int *types = ev->types();
+ QMetaType *types = ev->types();
for (int ii = 0; ii < parameterTypes.count(); ++ii) {
const QByteArray &typeName = parameterTypes.at(ii);
if (typeName.endsWith('*'))
- types[ii + 1] = QMetaType::VoidStar;
+ types[ii + 1] = QMetaType(QMetaType::VoidStar);
else
- types[ii + 1] = QMetaType::type(typeName);
+ types[ii + 1] = QMetaType::fromName(typeName);
- if (!types[ii + 1]) {
+ if (!types[ii + 1].isValid()) {
qWarning("QObject::connect: Cannot queue arguments of type '%s'\n"
"(Make sure '%s' is registered using qRegisterMetaType().)",
typeName.constData(), typeName.constData());
return;
}
- args[ii + 1] = QMetaType::create(types[ii + 1], a[ii + 1]);
+ args[ii + 1] = types[ii + 1].create(a[ii + 1]);
}
QQmlThreadNotifierProxyObject *mpo = new QQmlThreadNotifierProxyObject;
diff --git a/src/qml/qml/qqmlmetatype.cpp b/src/qml/qml/qqmlmetatype.cpp
index 9b0df3c5c4..cb2522a675 100644
--- a/src/qml/qml/qqmlmetatype.cpp
+++ b/src/qml/qml/qqmlmetatype.cpp
@@ -549,16 +549,12 @@ struct QQmlMetaTypeInterface : QtPrivate::QMetaTypeInterface
QQmlMetaTypeInterface(const QByteArray &name)
: QMetaTypeInterface {
/*.revision=*/ 0,
- /*.size=*/ sizeof(T),
/*.alignment=*/ alignof(T),
+ /*.size=*/ sizeof(T),
/*.flags=*/ QtPrivate::QMetaTypeTypeFlags<T>::Flags,
- /*.metaObject=*/ nullptr,
- /*.name=*/ name.constData(),
/*.typeId=*/ 0,
- /*.ref=*/ { Q_BASIC_ATOMIC_INITIALIZER(0) },
- /*.deleteSelf=*/ [](QMetaTypeInterface *self) {
- delete static_cast<QQmlMetaTypeInterface *>(self);
- },
+ /*.metaObject=*/ nullptr,//QtPrivate::MetaObjectForType<T>::value(),
+ /*.name=*/ name.constData(),
/*.defaultCtr=*/ [](const QMetaTypeInterface *, void *addr) { new (addr) T(); },
/*.copyCtr=*/ [](const QMetaTypeInterface *, void *addr, const void *other) {
new (addr) T(*reinterpret_cast<const T *>(other));
@@ -571,6 +567,9 @@ struct QQmlMetaTypeInterface : QtPrivate::QMetaTypeInterface
},
/*.equals*/ nullptr,
/*.lessThan*/ nullptr,
+ /*.debugStream=*/ nullptr,
+ /*.dataStreamOut=*/ nullptr,
+ /*.dataStreamIn=*/ nullptr,
/*.legacyRegisterOp=*/ nullptr
}
, name(name) { }