diff options
author | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-10-08 01:00:31 +0200 |
---|---|---|
committer | Qt Forward Merge Bot <qt_forward_merge_bot@qt-project.org> | 2019-10-08 01:00:31 +0200 |
commit | 38e97c68ba25c29a6fbdd3f79d56fd52a0f58a4c (patch) | |
tree | 10bba7efed661c45e62c89c07f8b0f01d9bf6701 /src/qml/qml/qqml.cpp | |
parent | 67fc5b677a05f88f043ea825810b7b244a516b42 (diff) | |
parent | e5f3e7149b7e130c375c1419f1f804dfeaf578aa (diff) |
Merge remote-tracking branch 'origin/5.14' into 5.15
Change-Id: Ib381f350ada365747ce20b989bfdc368d75f2219
Diffstat (limited to 'src/qml/qml/qqml.cpp')
-rw-r--r-- | src/qml/qml/qqml.cpp | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/qml/qml/qqml.cpp b/src/qml/qml/qqml.cpp index a3ca48d6d9..cfbe0c409e 100644 --- a/src/qml/qml/qqml.cpp +++ b/src/qml/qml/qqml.cpp @@ -79,6 +79,13 @@ int qmlTypeId(const char *uri, int versionMajor, int versionMinor, const char *q // From qqmlprivate.h QObject *QQmlPrivate::RegisterSingletonFunctor::operator()(QQmlEngine *qeng, QJSEngine *) { + if (!m_object) { + QQmlError error; + error.setDescription(QLatin1String("The registered singleton has already been deleted. Ensure that it outlives the engine.")); + QQmlEnginePrivate::get(qeng)->warning(qeng, error); + return nullptr; + } + if (qeng->thread() != m_object->thread()) { QQmlError error; error.setDescription(QLatin1String("Registered object must live in the same thread as the engine it was registered with")); |