parent
e0e89100fa
commit
a1c2c7ff36
@ -0,0 +1,36 @@
|
|||||||
|
From da26deaa5c843ef303ef9f1b9f0cd3d341c5c5f5 Mon Sep 17 00:00:00 2001
|
||||||
|
From: Vlad Zahorodnii <vlad.zahorodnii@kde.org>
|
||||||
|
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<PointerEvent *>(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
|
||||||
|
|
Loading…
Reference in new issue