Script 'mail_helper' called by obssrc Hello community, here is the log from the commit of package plasma6-workspace for openSUSE:Factory checked in at 2025-09-26 22:24:11 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Comparing /work/SRC/openSUSE:Factory/plasma6-workspace (Old) and /work/SRC/openSUSE:Factory/.plasma6-workspace.new.11973 (New) ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Package is "plasma6-workspace" Fri Sep 26 22:24:11 2025 rev:39 rq:1307065 version:6.4.5 Changes: -------- --- /work/SRC/openSUSE:Factory/plasma6-workspace/plasma6-workspace.changes 2025-09-15 19:54:16.390549531 +0200 +++ /work/SRC/openSUSE:Factory/.plasma6-workspace.new.11973/plasma6-workspace.changes 2025-09-26 22:24:48.674740890 +0200 @@ -1,0 +2,7 @@ +Thu Sep 25 08:13:52 UTC 2025 - Fabian Vogt <[email protected]> + +- Add patch to fix crash caused by a qtdeclarative change + (kde#509192, QTBUG-140018): + * 0001-applets-mediacontroller-Workaround-for-common-crash-.patch + +------------------------------------------------------------------- New: ---- 0001-applets-mediacontroller-Workaround-for-common-crash-.patch ----------(New B)---------- New: (kde#509192, QTBUG-140018): * 0001-applets-mediacontroller-Workaround-for-common-crash-.patch ----------(New E)---------- ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ Other differences: ------------------ ++++++ plasma6-workspace.spec ++++++ --- /var/tmp/diff_new_pack.pbcv10/_old 2025-09-26 22:24:49.594779619 +0200 +++ /var/tmp/diff_new_pack.pbcv10/_new 2025-09-26 22:24:49.598779787 +0200 @@ -43,6 +43,7 @@ Source3: sddm.conf Source4: waitforkded.conf # PATCH-FIX-UPSTREAM +Patch1: 0001-applets-mediacontroller-Workaround-for-common-crash-.patch # PATCHES 501-??? are PATCH-FIX-OPENSUSE Patch501: 0001-Use-qdbus6.patch Patch502: 0001-Ignore-default-sddm-face-icons.patch ++++++ 0001-applets-mediacontroller-Workaround-for-common-crash-.patch ++++++ >From 4d7b4be9722d6a1c1d84d817066b424117dadde4 Mon Sep 17 00:00:00 2001 From: Oliver Beard <[email protected]> Date: Wed, 24 Sep 2025 22:31:36 +0100 Subject: [PATCH] applets/mediacontroller: Workaround for common crash in QQuickStackView This commit adds a workaround for QTBUG-140018 where a regression in Qt 6.9.2 causes a segfault as qmlEngine(view) returns null in QQuickStackElement::initialize, because a parent loader set the engine to null when unloading, but we still run. We avoid this by not pushing a new Image to the StackView when it isn't visible, which is coincident with the above and the cause of the crash. This does not regress any behaviour, functionality or animation. BUG: 509192 Co-authored-by: David Edmundson <[email protected]> (cherry picked from commit 30273fb2afcc6e304951c8895bb17d38255fed39) Co-authored-by: Oliver Beard <[email protected]> --- applets/mediacontroller/AlbumArtStackView.qml | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/applets/mediacontroller/AlbumArtStackView.qml b/applets/mediacontroller/AlbumArtStackView.qml index 08159215cd..69dbd5a101 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. -- 2.51.0
