diff options
author | Simon Hausmann <simon.hausmann@qt.io> | 2017-08-16 14:56:31 +0200 |
---|---|---|
committer | Simon Hausmann <simon.hausmann@qt.io> | 2017-08-18 11:46:11 +0200 |
commit | 43a615e309e70978711f5c2c56a9881876b96349 (patch) | |
tree | a8d0899cbc1e7775f52056fc56db58b2fcf305de /src/quick/designer | |
parent | 6034d89bdd907d4795c19e8ac752f4eb51c82a94 (diff) | |
parent | 3513995d8fde7f002977275463fcea1b86f4a693 (diff) |
Merge remote-tracking branch 'origin/5.9' into dev
Conflicts:
src/qml/compiler/qqmltypecompiler.cpp
src/qml/jsruntime/qv4qmlcontext.cpp
src/qml/jsruntime/qv4qobjectwrapper.cpp
src/qml/qml/qqmlcustomparser.cpp
src/qml/qml/qqmlimport.cpp
src/qml/qml/qqmlimport_p.h
src/qml/qml/qqmlmetatype.cpp
src/qml/qml/qqmlmetatype_p.h
src/qml/qml/qqmltypenamecache.cpp
src/qml/qml/qqmltypenamecache_p.h
src/qml/qml/qqmltypewrapper.cpp
src/qml/qml/qqmltypewrapper_p.h
src/qml/qml/qqmlvmemetaobject.cpp
src/qml/util/qqmladaptormodel.cpp
Change-Id: Ic959d03e6f9c328fb02710d9abbb0f27cddde131
Diffstat (limited to 'src/quick/designer')
-rw-r--r-- | src/quick/designer/qqmldesignermetaobject.cpp | 2 | ||||
-rw-r--r-- | src/quick/designer/qquickdesignersupportitems.cpp | 41 | ||||
-rw-r--r-- | src/quick/designer/qquickdesignersupportmetainfo.cpp | 4 |
3 files changed, 21 insertions, 26 deletions
diff --git a/src/quick/designer/qqmldesignermetaobject.cpp b/src/quick/designer/qqmldesignermetaobject.cpp index 5e897218c5..33ea442b76 100644 --- a/src/quick/designer/qqmldesignermetaobject.cpp +++ b/src/quick/designer/qqmldesignermetaobject.cpp @@ -127,7 +127,7 @@ void QQmlDesignerMetaObject::init(QObject *object, QQmlEngine *engine) } QQmlDesignerMetaObject::QQmlDesignerMetaObject(QObject *object, QQmlEngine *engine) - : QQmlVMEMetaObject(object, cacheForObject(object, engine), /*qml compilation unit*/nullptr, /*qmlObjectId*/-1), + : QQmlVMEMetaObject(QQmlEnginePrivate::getV4Engine(engine), object, cacheForObject(object, engine), /*qml compilation unit*/nullptr, /*qmlObjectId*/-1), m_context(engine->contextForObject(object)), m_data(new MetaPropertyData) { diff --git a/src/quick/designer/qquickdesignersupportitems.cpp b/src/quick/designer/qquickdesignersupportitems.cpp index 874faed0af..38ba46e702 100644 --- a/src/quick/designer/qquickdesignersupportitems.cpp +++ b/src/quick/designer/qquickdesignersupportitems.cpp @@ -175,29 +175,24 @@ static bool isWindow(QObject *object) { return false; } -static QQmlType *getQmlType(const QString &typeName, int majorNumber, int minorNumber) +static bool isCrashingType(const QQmlType &type) { - return QQmlMetaType::qmlType(typeName, majorNumber, minorNumber); -} + QString name = type.qmlTypeName(); -static bool isCrashingType(QQmlType *type) -{ - if (type) { - if (type->qmlTypeName() == QLatin1String("QtMultimedia/MediaPlayer")) - return true; + if (type.qmlTypeName() == QLatin1String("QtMultimedia/MediaPlayer")) + return true; - if (type->qmlTypeName() == QLatin1String("QtMultimedia/Audio")) - return true; + if (type.qmlTypeName() == QLatin1String("QtMultimedia/Audio")) + return true; - if (type->qmlTypeName() == QLatin1String("QtQuick.Controls/MenuItem")) - return true; + if (type.qmlTypeName() == QLatin1String("QtQuick.Controls/MenuItem")) + return true; - if (type->qmlTypeName() == QLatin1String("QtQuick.Controls/Menu")) - return true; + if (type.qmlTypeName() == QLatin1String("QtQuick.Controls/Menu")) + return true; - if (type->qmlTypeName() == QLatin1String("QtQuick/Timer")) - return true; - } + if (type.qmlTypeName() == QLatin1String("QtQuick/Timer")) + return true; return false; } @@ -209,19 +204,19 @@ QObject *QQuickDesignerSupportItems::createPrimitive(const QString &typeName, in Q_UNUSED(disableComponentComplete) QObject *object = 0; - QQmlType *type = getQmlType(typeName, majorNumber, minorNumber); + QQmlType type = QQmlMetaType::qmlType(typeName, majorNumber, minorNumber); if (isCrashingType(type)) { object = new QObject; - } else if (type) { - if ( type->isComposite()) { - object = createComponent(type->sourceUrl(), context); + } else if (type.isValid()) { + if ( type.isComposite()) { + object = createComponent(type.sourceUrl(), context); } else { - if (type->typeName() == "QQmlComponent") { + if (type.typeName() == "QQmlComponent") { object = new QQmlComponent(context->engine(), 0); } else { - object = type->create(); + object = type.create(); } } diff --git a/src/quick/designer/qquickdesignersupportmetainfo.cpp b/src/quick/designer/qquickdesignersupportmetainfo.cpp index 332ae26bd4..b398bae55d 100644 --- a/src/quick/designer/qquickdesignersupportmetainfo.cpp +++ b/src/quick/designer/qquickdesignersupportmetainfo.cpp @@ -53,8 +53,8 @@ bool QQuickDesignerSupportMetaInfo::isSubclassOf(QObject *object, const QByteArr const QMetaObject *metaObject = object->metaObject(); while (metaObject) { - QQmlType *qmlType = QQmlMetaType::qmlType(metaObject); - if (qmlType && qmlType->qmlTypeName() == QLatin1String(superTypeName)) // ignore version numbers + QQmlType qmlType = QQmlMetaType::qmlType(metaObject); + if (qmlType.qmlTypeName() == QLatin1String(superTypeName)) // ignore version numbers return true; if (metaObject->className() == superTypeName) |