[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