diff options
Diffstat (limited to 'src/quick/items/qquickloader.cpp')
-rw-r--r-- | src/quick/items/qquickloader.cpp | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/src/quick/items/qquickloader.cpp b/src/quick/items/qquickloader.cpp index 7d04be2393..b83c21428c 100644 --- a/src/quick/items/qquickloader.cpp +++ b/src/quick/items/qquickloader.cpp @@ -106,6 +106,7 @@ void QQuickLoaderPrivate::clear() component->deleteLater(); component = 0; } + componentStrongReference.clear(); source = QUrl(); if (item) { @@ -472,6 +473,10 @@ void QQuickLoader::setSourceComponent(QQmlComponent *comp) d->clear(); d->component = comp; + if (comp) { + if (QQmlData *ddata = QQmlData::get(comp)) + d->componentStrongReference = ddata->jsWrapper.value(); + } d->loadingFromSource = false; if (d->active) |