From e5c7bd793d8bca5b36fc2cd1294777701c2668343d7c219c95974ff0d37b5973 Mon Sep 17 00:00:00 2001 From: Stefan Dirsch Date: Sat, 12 Feb 2022 11:22:28 +0000 Subject: [PATCH] - U_xephyr-Don-t-check-for-SeatId-anymore.patch * fix mouse/keyboard focus in Xephyr (boo#1194658, github issue#1289) OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xorg-x11-server?expand=0&rev=818 --- U_xephyr-Don-t-check-for-SeatId-anymore.patch | 63 +++++++++++++++++++ xorg-x11-server.changes | 7 +++ xorg-x11-server.spec | 3 + 3 files changed, 73 insertions(+) create mode 100644 U_xephyr-Don-t-check-for-SeatId-anymore.patch diff --git a/U_xephyr-Don-t-check-for-SeatId-anymore.patch b/U_xephyr-Don-t-check-for-SeatId-anymore.patch new file mode 100644 index 0000000..ed435bb --- /dev/null +++ b/U_xephyr-Don-t-check-for-SeatId-anymore.patch @@ -0,0 +1,63 @@ +From 4c03b67d334b05b814239420776f2fdd4c4a98ac Mon Sep 17 00:00:00 2001 +From: nerdopolis +Date: Tue, 11 Jan 2022 18:41:42 -0500 +Subject: [PATCH] xephyr: Don't check for SeatId anymore + +After a change for the xserver to automatically determine the seat +based on the XDG_SEAT variable, xephyr stopped working. This was +because of an old feature where xephyr used to handle evdev +directly. This was dropped some time ago, and now this check is +not needed +--- + hw/kdrive/ephyr/ephyrinit.c | 34 ++++++++++++++++------------------ + 1 file changed, 16 insertions(+), 18 deletions(-) + +diff --git a/hw/kdrive/ephyr/ephyrinit.c b/hw/kdrive/ephyr/ephyrinit.c +index 020461db2..09cd28cb3 100644 +--- a/hw/kdrive/ephyr/ephyrinit.c ++++ b/hw/kdrive/ephyr/ephyrinit.c +@@ -70,25 +70,23 @@ InitInput(int argc, char **argv) + KdKeyboardInfo *ki; + KdPointerInfo *pi; + +- if (!SeatId) { +- KdAddKeyboardDriver(&EphyrKeyboardDriver); +- KdAddPointerDriver(&EphyrMouseDriver); +- +- if (!kdHasKbd) { +- ki = KdNewKeyboard(); +- if (!ki) +- FatalError("Couldn't create Xephyr keyboard\n"); +- ki->driver = &EphyrKeyboardDriver; +- KdAddKeyboard(ki); +- } ++ KdAddKeyboardDriver(&EphyrKeyboardDriver); ++ KdAddPointerDriver(&EphyrMouseDriver); ++ ++ if (!kdHasKbd) { ++ ki = KdNewKeyboard(); ++ if (!ki) ++ FatalError("Couldn't create Xephyr keyboard\n"); ++ ki->driver = &EphyrKeyboardDriver; ++ KdAddKeyboard(ki); ++ } + +- if (!kdHasPointer) { +- pi = KdNewPointer(); +- if (!pi) +- FatalError("Couldn't create Xephyr pointer\n"); +- pi->driver = &EphyrMouseDriver; +- KdAddPointer(pi); +- } ++ if (!kdHasPointer) { ++ pi = KdNewPointer(); ++ if (!pi) ++ FatalError("Couldn't create Xephyr pointer\n"); ++ pi->driver = &EphyrMouseDriver; ++ KdAddPointer(pi); + } + + KdInitInput(); +-- +2.34.1 + diff --git a/xorg-x11-server.changes b/xorg-x11-server.changes index 48ba265..66d5324 100644 --- a/xorg-x11-server.changes +++ b/xorg-x11-server.changes @@ -1,3 +1,10 @@ +------------------------------------------------------------------- +Sat Feb 12 11:12:33 UTC 2022 - Stefan Dirsch + +- U_xephyr-Don-t-check-for-SeatId-anymore.patch + * fix mouse/keyboard focus in Xephyr (boo#1194658, + github issue#1289) + ------------------------------------------------------------------- Thu Feb 10 20:26:44 UTC 2022 - Dirk Müller diff --git a/xorg-x11-server.spec b/xorg-x11-server.spec index 0849e10..c337e73 100644 --- a/xorg-x11-server.spec +++ b/xorg-x11-server.spec @@ -242,6 +242,8 @@ Patch1920: u_xf86-Accept-devices-with-the-hyperv_drm-driver.patch Patch1930: u_xfree86-activate-GPU-screens-on-autobind.patch +Patch1940: U_xephyr-Don-t-check-for-SeatId-anymore.patch + %description This package contains the X.Org Server. @@ -396,6 +398,7 @@ sh %{SOURCE92} --verify . %{SOURCE91} %patch1910 -p1 %patch1920 -p1 %patch1930 -p1 +%patch1940 -p1 %build %global _lto_cflags %{?_lto_cflags} -ffat-lto-objects