commit:     70dcbe1b8f3b5f613c8a0f51029e18bcbc88755a
Author:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
AuthorDate: Sun Jan 25 23:10:08 2026 +0000
Commit:     Andreas Sturmlechner <asturm <AT> gentoo <DOT> org>
CommitDate: Sun Jan 25 23:18:59 2026 +0000
URL:        https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=70dcbe1b

kde-plasma/libkscreen: Cherry-pick VHI crash fix from 6.5 branch

KDE-bug: https://bugs.kde.org/show_bug.cgi?id=511757

Bug: https://bugs.gentoo.org/968630
Signed-off-by: Andreas Sturmlechner <asturm <AT> gentoo.org>

 .../files/libkscreen-6.5.5-kwayland-crashfix.patch | 36 +++++++++++++++++
 kde-plasma/libkscreen/libkscreen-6.5.5-r1.ebuild   | 46 ++++++++++++++++++++++
 2 files changed, 82 insertions(+)

diff --git 
a/kde-plasma/libkscreen/files/libkscreen-6.5.5-kwayland-crashfix.patch 
b/kde-plasma/libkscreen/files/libkscreen-6.5.5-kwayland-crashfix.patch
new file mode 100644
index 000000000000..5d1b47caa4d6
--- /dev/null
+++ b/kde-plasma/libkscreen/files/libkscreen-6.5.5-kwayland-crashfix.patch
@@ -0,0 +1,36 @@
+From 4bb33417bd7657ba3f140048a7ab324e6d007dc2 Mon Sep 17 00:00:00 2001
+From: Vlad Zahorodnii <[email protected]>
+Date: Wed, 14 Jan 2026 21:17:12 +0000
+Subject: [PATCH] backends/kwayland: Clean up output devices in WaylandConfig
+ destructor
+
+CCBUG: 511757
+
+
+(cherry picked from commit 3f643425e767a8144c9bcb013d273b5ac1920691)
+
+Co-authored-by: Vlad Zahorodnii <[email protected]>
+---
+ backends/kwayland/waylandconfig.cpp | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/backends/kwayland/waylandconfig.cpp 
b/backends/kwayland/waylandconfig.cpp
+index edb6de57..37db551d 100644
+--- a/backends/kwayland/waylandconfig.cpp
++++ b/backends/kwayland/waylandconfig.cpp
+@@ -50,6 +50,12 @@ WaylandConfig::WaylandConfig(QObject *parent)
+ 
+ WaylandConfig::~WaylandConfig()
+ {
++    qDeleteAll(m_initializingOutputs);
++    m_initializingOutputs.clear();
++
++    qDeleteAll(m_outputMap);
++    m_outputMap.clear();
++
+     if (m_registry) {
+         wl_registry_destroy(m_registry);
+     }
+-- 
+GitLab
+

diff --git a/kde-plasma/libkscreen/libkscreen-6.5.5-r1.ebuild 
b/kde-plasma/libkscreen/libkscreen-6.5.5-r1.ebuild
new file mode 100644
index 000000000000..791acb0c3e04
--- /dev/null
+++ b/kde-plasma/libkscreen/libkscreen-6.5.5-r1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2026 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+ECM_QTHELP="true"
+ECM_TEST="forceoptional"
+KFMIN=6.22.0
+QTMIN=6.10.1
+inherit ecm plasma.kde.org toolchain-funcs
+
+DESCRIPTION="Plasma screen management library"
+
+LICENSE="GPL-2" # TODO: CHECK
+SLOT="6/8"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE=""
+
+# requires running session
+RESTRICT="test"
+
+# slot op: Uses Qt::GuiPrivate for qtx11extras_p.h
+RDEPEND="
+       dev-libs/wayland
+       >=dev-qt/qtbase-${QTMIN}:6=[dbus,gui,wayland]
+       >=kde-frameworks/kconfig-${KFMIN}:6
+       x11-libs/libxcb:=
+"
+DEPEND="${RDEPEND}
+       >=dev-libs/plasma-wayland-protocols-1.19.0
+"
+BDEPEND="
+       >=dev-qt/qttools-${QTMIN}:6[linguist]
+       >=dev-qt/qtbase-${QTMIN}:6[wayland]
+       dev-util/wayland-scanner
+"
+
+PATCHES=( "${FILESDIR}/${P}-kwayland-crashfix.patch" ) # KDE-bug #511757
+
+pkg_pretend() {
+       [[ ${MERGE_TYPE} != binary ]] && tc-check-min_ver gcc 13.4
+}
+
+pkg_setup() {
+       [[ ${MERGE_TYPE} != binary ]] && tc-check-min_ver gcc 13.4
+}

Reply via email to