diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-04-27 01:00:40 +0200 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-04-27 01:00:40 +0200 |
commit | 332e514fb4954fde9af03e1699c066cbbdb0420d (patch) | |
tree | ebb9b830d7679521d3ba40ddff81f1d15447cfac /src/qml/qml | |
parent | 64a6677ae612f0af01cbec0b8b2a2dd625bcf85b (diff) | |
parent | 8a5001247b250a7f7cb938743481b1405dcdc3a0 (diff) |
Merge remote-tracking branch 'origin/5.12' into 5.13
Change-Id: I552629813ea8100d04ea19e51fe7198931082e19
Diffstat (limited to 'src/qml/qml')
-rw-r--r-- | src/qml/qml/qqmlmetatype.cpp | 4 | ||||
-rw-r--r-- | src/qml/qml/qqmltypewrapper.cpp | 3 |
2 files changed, 5 insertions, 2 deletions
diff --git a/src/qml/qml/qqmlmetatype.cpp b/src/qml/qml/qqmlmetatype.cpp index b21c3ec40d..83196f4577 100644 --- a/src/qml/qml/qqmlmetatype.cpp +++ b/src/qml/qml/qqmlmetatype.cpp @@ -2589,6 +2589,10 @@ void QQmlMetaType::freeUnusedTypesAndCaches() QMutexLocker lock(metaTypeDataLock()); QQmlMetaTypeData *data = metaTypeData(); + // in case this is being called during program exit, `data` might be destructed already + if (!data) + return; + { bool deletedAtLeastOneType; do { diff --git a/src/qml/qml/qqmltypewrapper.cpp b/src/qml/qml/qqmltypewrapper.cpp index 246de04316..24c5aecc00 100644 --- a/src/qml/qml/qqmltypewrapper.cpp +++ b/src/qml/qml/qqmltypewrapper.cpp @@ -97,9 +97,8 @@ QObject* QQmlTypeWrapper::singletonObject() const QVariant QQmlTypeWrapper::toVariant() const { - // Only Singleton type wrappers can be converted to a variant. if (!isSingleton()) - return QVariant(); + return QVariant::fromValue<QObject *>(d()->object); QQmlEngine *e = engine()->qmlEngine(); QQmlType::SingletonInstanceInfo *siinfo = d()->type().singletonInstanceInfo(); |