[neon/kde/plasma-workspace/Neon/release] debian/patches: add mediacontroller_QQuickStackView_crash.diff
Carlos De Maine
null at kde.org
Sun Sep 28 02:36:42 BST 2025
Git commit 8a708ee797f9a4e5603bc3cdbd946cfce8cd3e4e by Carlos De Maine.
Committed on 28/09/2025 at 01:36.
Pushed by carlosdem into branch 'Neon/release'.
add mediacontroller_QQuickStackView_crash.diff
as per kde-distro list recommendation
A +21 -0 debian/patches/mediacontroller_QQuickStackView_crash.diff
M +1 -0 debian/patches/series
https://invent.kde.org/neon/kde/plasma-workspace/-/commit/8a708ee797f9a4e5603bc3cdbd946cfce8cd3e4e
diff --git a/debian/patches/mediacontroller_QQuickStackView_crash.diff b/debian/patches/mediacontroller_QQuickStackView_crash.diff
new file mode 100644
index 00000000..18180d3a
--- /dev/null
+++ b/debian/patches/mediacontroller_QQuickStackView_crash.diff
@@ -0,0 +1,21 @@
+diff --git a/applets/mediacontroller/AlbumArtStackView.qml b/applets/mediacontroller/AlbumArtStackView.qml
+index 08159215cde366beadc335bca5b9db3e1ee320f6..69dbd5a101c39dd4874bb2148f79e25386d18405 100644
+--- a/applets/mediacontroller/AlbumArtStackView.qml
++++ b/applets/mediacontroller/AlbumArtStackView.qml
+@@ -58,6 +58,16 @@ Item {
+ });
+
+ function replaceWhenLoaded() {
++ // HACK: Workaround for QTBUG-140018 (see also: BUG 509192)
++ // When a parent loader is inactive, it'll drop the engine from the context, but this can still run
++ // afterwards which causes a crash in QQuickStackElement::initialize which asserts the engine is not null.
++ // This visiblity heuristic is always the case when we're in this state, returning without pushing
++ // anything to the StackView and avoiding the above. Since the artwork is always updated when expanding,
++ // we don't have to worry about not being visible due to other reasons.
++ if (!albumArt.visible) {
++ return;
++ }
++
+ // There can be a potential race: when the previous player is gone but the pending image is just ready in time,
+ // pendingImage.destroy() -> QQuickImage::deleteLater(), so in the event queue statusChanged may be emitted
+ // before pendingImage is deleted, but pendingImage is already set to null when the previous player is gone.
diff --git a/debian/patches/series b/debian/patches/series
index 564a5db3..8130387f 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1 +1,2 @@
apparmor_qtwebengineprocess.patch
+mediacontroller_QQuickStackView_crash.diff
More information about the Neon-commits
mailing list