diff --git a/guard-against-non-existing-workspace.patch b/guard-against-non-existing-workspace.patch new file mode 100644 index 0000000..b618296 --- /dev/null +++ b/guard-against-non-existing-workspace.patch @@ -0,0 +1,36 @@ +From da26deaa5c843ef303ef9f1b9f0cd3d341c5c5f5 Mon Sep 17 00:00:00 2001 +From: Vlad Zahorodnii +Date: Wed, 22 Feb 2023 21:35:26 +0200 +Subject: [PATCH] backends/libinput: Fix crash upon receiving motion absolute + events + +The input events can be processed when the workspace is not available, +e.g. during startup or shutdown, so add a corresponding guard. + +As a long term plan, we need to decouple Workspace from low-level input +backend parts, but it will be a too invasive change for now. + +BUG: 449317 +BUG: 465456 +--- + src/backends/libinput/connection.cpp | 4 +++- + 1 file changed, 3 insertions(+), 1 deletion(-) + +diff --git a/src/backends/libinput/connection.cpp b/src/backends/libinput/connection.cpp +index f99771d9b1..db1a19b687 100644 +--- a/src/backends/libinput/connection.cpp ++++ b/src/backends/libinput/connection.cpp +@@ -373,7 +373,9 @@ void Connection::processEvents() + } + case LIBINPUT_EVENT_POINTER_MOTION_ABSOLUTE: { + PointerEvent *pe = static_cast(event.get()); +- Q_EMIT pe->device()->pointerMotionAbsolute(pe->absolutePos(workspace()->geometry().size()), pe->time(), pe->device()); ++ if (workspace()) { ++ Q_EMIT pe->device()->pointerMotionAbsolute(pe->absolutePos(workspace()->geometry().size()), pe->time(), pe->device()); ++ } + break; + } + case LIBINPUT_EVENT_TOUCH_DOWN: { +-- +GitLab + diff --git a/kwin.spec b/kwin.spec index e18a0f4..3a3d5b3 100644 --- a/kwin.spec +++ b/kwin.spec @@ -17,7 +17,7 @@ Name: kwin Version: 5.27.1 -Release: 1%{?dist} +Release: 2%{?dist} Summary: KDE Window manager # all sources are effectively GPLv2+, except for: @@ -43,6 +43,9 @@ Source0: http://download.kde.org/%{stable}/plasma/%{version}/%{name}-%{version}. Patch0: kwin-5.27.0-allow-vt-switch.patch ## upstream patches +# Fixes https://bugzilla.redhat.com/show_bug.cgi?id=2168034 +# Upstream PR: https://invent.kde.org/plasma/kwin/-/merge_requests/3667?view=parallel +Patch1: guard-against-non-existing-workspace.patch ## proposed patches @@ -368,6 +371,9 @@ make test ARGS="--output-on-failure --timeout 10" -C %{_target_platform} ||: %changelog +* Wed Feb 22 2023 Marc Deop i Argemí - 5.27.1-2 +- Add patch to fix BZ#2168034 + * Tue Feb 21 2023 Marc Deop i Argemí - 5.27.1-1 - 5.27.1