diff options
author | BogDan Vatra <bogdan@kdab.com> | 2016-01-25 14:17:55 +0200 |
---|---|---|
committer | BogDan Vatra <bogdan@kdab.com> | 2016-01-25 12:37:19 +0000 |
commit | b83b358634f7b5d5a80f29216233f3b462948922 (patch) | |
tree | 1f3304b6ef1a6f77622c088bd14f4e248f56dd42 /src | |
parent | d6c5c3b529ca49452ecd74a7e139f189c7fb0efc (diff) |
Fix don't delete singletons objects owned by C++
Don't delete singletons objects that are created only from C++ and
have explicitSetObjectOwnership flag set, explicitSetObjectOwnership
flag is set only by QQmlEngine::setObjectOwnership.
Task-number: QTBUG-49865
Change-Id: I0ef658c2094e67b5cd9a1585e273144dfcee736a
Reviewed-by: Simon Hausmann <simon.hausmann@theqtcompany.com>
Diffstat (limited to 'src')
-rw-r--r-- | src/qml/qml/qqmlmetatype.cpp | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/src/qml/qml/qqmlmetatype.cpp b/src/qml/qml/qqmlmetatype.cpp index 1a27a487bd..c5d11ee3c3 100644 --- a/src/qml/qml/qqmlmetatype.cpp +++ b/src/qml/qml/qqmlmetatype.cpp @@ -244,7 +244,7 @@ void QQmlType::SingletonInstanceInfo::destroy(QQmlEngine *e) QObject *o = qobjectApis.take(e); if (o) { QQmlData *ddata = QQmlData::get(o, false); - if (ddata && ddata->indestructible) + if (url.isEmpty() && ddata && ddata->indestructible && ddata->explicitIndestructibleSet) return; delete o; } |