From 40a6845bcce22aca96e1dee26360bdff3e9520fb Mon Sep 17 00:00:00 2001 From: Simon Hausmann Date: Wed, 22 Oct 2014 16:47:01 +0200 Subject: Fix assignment to QObject pointer properties MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit This commit ammends 59ed8c355b99df0b949003a438ab850274261aa0 to always query the Qt meta-type registry to retrieve the QMetaObject for a QObject pointer type. Change-Id: I70d876a5acfa23967fd1a57c96fcd5ac853eaf49 Task-number: QTBUG-39614 Reviewed-by: Jędrzej Nowacki Reviewed-by: Ulf Hermann --- src/qml/qml/qqmlproperty.cpp | 9 ++++----- 1 file changed, 4 insertions(+), 5 deletions(-) (limited to 'src') diff --git a/src/qml/qml/qqmlproperty.cpp b/src/qml/qml/qqmlproperty.cpp index 09b735ae9e..2a888b7a1e 100644 --- a/src/qml/qml/qqmlproperty.cpp +++ b/src/qml/qml/qqmlproperty.cpp @@ -1611,15 +1611,14 @@ bool QQmlPropertyPrivate::writeBinding(QObject *object, QQmlMetaObject QQmlPropertyPrivate::rawMetaObjectForType(QQmlEnginePrivate *engine, int userType) { - if (engine) { + QMetaType metaType(userType); + if ((metaType.flags() & QMetaType::PointerToQObject) && metaType.metaObject()) + return metaType.metaObject(); + if (engine) return engine->rawMetaObjectForType(userType); - } QQmlType *type = QQmlMetaType::qmlType(userType); if (type) return QQmlMetaObject(type->baseMetaObject()); - QMetaType metaType(userType); - if ((metaType.flags() & QMetaType::PointerToQObject) && metaType.metaObject()) - return metaType.metaObject(); return QQmlMetaObject((QObject*)0); } -- cgit v1.2.3