diff options
3 files changed, 138 insertions, 0 deletions
diff --git a/kde-plasma/plasma-pa/files/plasma-pa-6.2.3-guard-activePort-against-null.patch b/kde-plasma/plasma-pa/files/plasma-pa-6.2.3-guard-activePort-against-null.patch new file mode 100644 index 000000000000..11759a7c9cc6 --- /dev/null +++ b/kde-plasma/plasma-pa/files/plasma-pa-6.2.3-guard-activePort-against-null.patch @@ -0,0 +1,39 @@ +From 49925e2a9598f27a526534dc2b4b1bc0bcee639b Mon Sep 17 00:00:00 2001 +From: Harald Sitter <sitter@kde.org> +Date: Fri, 15 Nov 2024 13:36:04 +0000 +Subject: [PATCH] listitemmenu: guard activePort against null + +it's not quite obvious why ports.at(index) would return null, but it's +my best guess for why we have a crash here + +CCBUG: 496067 + + +(cherry picked from commit 23c8a3f982d5e0c8380c0870b047b251f67d179e) + +Co-authored-by: Harald Sitter <sitter@kde.org> +--- + src/qml/listitemmenu.cpp | 7 ++++--- + 1 file changed, 4 insertions(+), 3 deletions(-) + +diff --git a/src/qml/listitemmenu.cpp b/src/qml/listitemmenu.cpp +index 5196a3de..9319bd26 100644 +--- a/src/qml/listitemmenu.cpp ++++ b/src/qml/listitemmenu.cpp +@@ -333,9 +333,10 @@ QMenu *ListItemMenu::createMenu() + // Ports + const auto ports = device->ports(); + bool activePortUnavailable = false; +- if (device->activePortIndex() != static_cast<quint32>(-1)) { +- auto *activePort = static_cast<Port *>(ports.at(device->activePortIndex())); +- activePortUnavailable = activePort->availability() == Port::Unavailable; ++ if (auto index = device->activePortIndex(); index != static_cast<quint32>(-1)) { ++ if (auto activePort = ports.at(index)) { ++ activePortUnavailable = activePort->availability() == Port::Unavailable; ++ } + } + + QMap<int, Port *> availablePorts; +-- +GitLab + diff --git a/kde-plasma/plasma-pa/files/plasma-pa-6.2.3-kcm-fix-speaker-test-for-proaudio.patch b/kde-plasma/plasma-pa/files/plasma-pa-6.2.3-kcm-fix-speaker-test-for-proaudio.patch new file mode 100644 index 000000000000..c84e2cba02bc --- /dev/null +++ b/kde-plasma/plasma-pa/files/plasma-pa-6.2.3-kcm-fix-speaker-test-for-proaudio.patch @@ -0,0 +1,50 @@ +From 0b4a26ada8258f4d25fa5069f239f1041eefecb5 Mon Sep 17 00:00:00 2001 +From: Ismael Asensio <isma.af@gmail.com> +Date: Wed, 6 Nov 2024 17:31:17 +0000 +Subject: [PATCH] kcm: Fix speaker test layout for Pro-Audio profile + +Known audio channels (like 'front-right', `rear-left`) are assigned +rows 0 to 2 in the Grid layout so they are placed in their spatial +position around the user's avatar + +Unknown channels (those produced by the Pro Audio pipewire profile) +have no spatial info and are assigned to rows 3 and following + +The spacer items were also assigned to row 3, which collided with +those, breaking the layout. Let's give the spacers a high enough +row number so there is no collision with an already occupied cell + +BUG: 495752 +FIXED-IN: 6.2.4 + + +(cherry picked from commit 36075f9e5f8d58ad2c687b91ec9a9cbef8c59fb3) + +Co-authored-by: Ismael Asensio <isma.af@gmail.com> +--- + src/kcm/ui/main.qml | 4 ++-- + 1 file changed, 2 insertions(+), 2 deletions(-) + +diff --git a/src/kcm/ui/main.qml b/src/kcm/ui/main.qml +index dacaec4f..57f60c35 100644 +--- a/src/kcm/ui/main.qml ++++ b/src/kcm/ui/main.qml +@@ -468,13 +468,13 @@ KCM.ScrollViewKCM { + + // Spacers for when the left and right columns are empty + Item { +- Layout.row: 3 ++ Layout.row: 9 // So we don't override an occupied cell + Layout.column: 0 + Layout.fillWidth: true + Layout.preferredWidth: Kirigami.Units.gridUnit * 4 + } + Item { +- Layout.row: 3 ++ Layout.row: 9 // So we don't override an occupied cell + Layout.column: 2 + Layout.fillWidth: true + Layout.preferredWidth: Kirigami.Units.gridUnit * 4 +-- +GitLab + diff --git a/kde-plasma/plasma-pa/plasma-pa-6.2.3-r1.ebuild b/kde-plasma/plasma-pa/plasma-pa-6.2.3-r1.ebuild new file mode 100644 index 000000000000..46b0ae24d6ce --- /dev/null +++ b/kde-plasma/plasma-pa/plasma-pa-6.2.3-r1.ebuild @@ -0,0 +1,49 @@ +# Copyright 1999-2024 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI=8 + +ECM_HANDBOOK="forceoptional" +KFMIN=6.6.0 +PVCUT=$(ver_cut 1-3) +QTMIN=6.7.2 +inherit ecm plasma.kde.org + +DESCRIPTION="Plasma applet for audio volume management using PulseAudio" + +LICENSE="GPL-2" # TODO: CHECK +SLOT="6" +KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86" +IUSE="" + +RESTRICT="test" # missing selenium-webdriver-at-spi + +DEPEND=" + dev-libs/glib:2 + >=dev-qt/qtbase-${QTMIN}:6[dbus,gui,widgets] + >=dev-qt/qtdeclarative-${QTMIN}:6 + >=kde-frameworks/kconfig-${KFMIN}:6 + >=kde-frameworks/kcoreaddons-${KFMIN}:6 + >=kde-frameworks/kdbusaddons-${KFMIN}:6 + >=kde-frameworks/kdeclarative-${KFMIN}:6 + >=kde-frameworks/kglobalaccel-${KFMIN}:6 + >=kde-frameworks/ki18n-${KFMIN}:6 + >=kde-frameworks/kstatusnotifieritem-${KFMIN}:6 + >=kde-frameworks/ksvg-${KFMIN}:6 + >=kde-plasma/libplasma-${PVCUT}:6 + media-libs/libcanberra + media-libs/libpulse + >=media-libs/pulseaudio-qt-1.6.0:= +" +RDEPEND="${DEPEND} + dev-libs/kirigami-addons:6 + >=kde-frameworks/kirigami-${KFMIN}:6 + >=kde-frameworks/kitemmodels-${KFMIN}:6 + x11-themes/sound-theme-freedesktop +" +BDEPEND=">=kde-frameworks/kcmutils-${KFMIN}:6" + +PATCHES=( + "${FILESDIR}/${P}-kcm-fix-speaker-test-for-proaudio.patch" # KDE-bug #495752 + "${FILESDIR}/${P}-guard-activePort-against-null.patch" # KDE-bug #496067 +) |