|author||Maximilian Goldstein <firstname.lastname@example.org>||2020-10-29 16:25:23 +0100|
|committer||Maximilian Goldstein <email@example.com>||2020-10-30 10:23:23 +0100|
Revert "qquickloader: Free memory of loaded components after source change"
This reverts commit c5085eb8905f1a3c070f866746110980e84be271. It can cause crashes and only fixes an edge case that can't be encountered during normal usage. Pick-to: 5.15 5.15.2 5.12 Change-Id: Ia265f0d6716b59a0f483e5a114b3f3b1a76fe898 Reviewed-by: Fabian Kosmale <firstname.lastname@example.org>
1 files changed, 0 insertions, 13 deletions
diff --git a/src/quick/items/qquickloader.cpp b/src/quick/items/qquickloader.cpp
index fb0253e092..d5a822c26f 100644
@@ -412,19 +412,6 @@ void QQuickLoader::setSource(const QUrl &url)
void QQuickLoader::setSource(const QUrl &url, bool needsClear)
- // The source has been changed at this point, and we assume that (after
- // notifying potential listeners with sourceChanged) that it is now
- // safe to actually delete the old component. We have to do this here
- // in case the component referenced expensive resources (like uncached
- // images), as it might take too long until we return to the event loop.
- // We need to explicitly pass QEvent::DeferredDelete to sendPostedEvents,
- // else the allowDeferredDelete check in qcoreapplication.cpp will not
- // allow the event to pass. This will not affect anything deleted by this
- // call, only the previous one. This has to be done as otherwise there
- // might be signal handlers that are still in progress.
- QCoreApplication::sendPostedEvents(nullptr, QEvent::DeferredDelete);
if (d->source == url)