- Update to version 22.1.5

* This is a follow-up release to address a couple of regressions
    which found their way into the recent xwayland-22.1.4 release,
    namely:
    + Double scroll wheel events with some Wayland compositors
      https://gitlab.freedesktop.org/xorg/xserver/-/issues/1392
    + Key keeps repeating when a window is closed while a key is pressed
      https://gitlab.freedesktop.org/xorg/xserver/-/issues/1395
- supersedes U_Do-not-ignore-leave-events.patch

OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/xwayland?expand=0&rev=36
This commit is contained in:
Stefan Dirsch 2022-11-02 11:41:57 +00:00 committed by Git OBS Bridge
parent 135c2fa712
commit cfa57197f6
7 changed files with 17 additions and 53 deletions

View File

@ -1,48 +0,0 @@
From bd39c17e2398f82910978ed55ac772c67d8f940a Mon Sep 17 00:00:00 2001
From: Olivier Fourdan <ofourdan@redhat.com>
Date: Mon, 24 Oct 2022 09:24:01 +0200
Subject: [PATCH] xwayland/input: Do not ignore leave events
Commit 8a5f3ddb2 ("set tag on our surface") introduced the use of tags
to differentiate our own surfaces, and commit a1d14aa8c ("Clear the
"xwl-window" tag on unrealize") removed the tags before the surfaces are
actually destroyed.
Xwayland would then rely on these tags on the surface to decide whether
to ignore or to process the Wayland event in various places.
However, in doing so, it also checked for the tag on keyboard leave
events.
As a result, if the keyboard leave events is received after the X11
window is unrealized, keyboard_handle_leave() would not queue the
LeaveNotify events for the DIX to proceed, and the key repeat would
kick in and repeat the key event indefinitely.
To avoid the issue, process events regardless of the tag as before
in keyboard_handle_leave().
Signed-off-by: Olivier Fourdan <ofourdan@redhat.com>
Fixes: 8a5f3ddb2 - "xwayland: set tag on our surface"
Closes: https://gitlab.freedesktop.org/xorg/xserver/-/issues/1395
---
hw/xwayland/xwayland-input.c | 3 ---
1 file changed, 3 deletions(-)
diff --git a/hw/xwayland/xwayland-input.c b/hw/xwayland/xwayland-input.c
index 240eb0139..9eda1ef71 100644
--- a/hw/xwayland/xwayland-input.c
+++ b/hw/xwayland/xwayland-input.c
@@ -1147,9 +1147,6 @@ keyboard_handle_leave(void *data, struct wl_keyboard *keyboard,
struct xwl_seat *xwl_seat = data;
uint32_t *k;
- if (surface != NULL && !is_surface_from_xwl_window(surface))
- return;
-
xwl_seat->xwl_screen->serial = serial;
wl_array_for_each(k, &xwl_seat->keys)
--
GitLab

View File

@ -1,3 +0,0 @@
version https://git-lfs.github.com/spec/v1
oid sha256:5c39bdd77444c3fa7a0e2ef317ae69ddde89a901dc8914dbc8eac39a9313512a
size 1273552

Binary file not shown.

3
xwayland-22.1.5.tar.xz Normal file
View File

@ -0,0 +1,3 @@
version https://git-lfs.github.com/spec/v1
oid sha256:e317ac1f119f8321654921761420901e4abd95585a8c763ce26af3b045ac1672
size 1273444

BIN
xwayland-22.1.5.tar.xz.sig Normal file

Binary file not shown.

View File

@ -1,3 +1,16 @@
-------------------------------------------------------------------
Wed Nov 2 11:27:06 UTC 2022 - Stefan Dirsch <sndirsch@suse.com>
- Update to version 22.1.5
* This is a follow-up release to address a couple of regressions
which found their way into the recent xwayland-22.1.4 release,
namely:
+ Double scroll wheel events with some Wayland compositors
https://gitlab.freedesktop.org/xorg/xserver/-/issues/1392
+ Key keeps repeating when a window is closed while a key is pressed
https://gitlab.freedesktop.org/xorg/xserver/-/issues/1395
- supersedes U_Do-not-ignore-leave-events.patch
-------------------------------------------------------------------
Mon Oct 24 13:50:22 UTC 2022 - Stefan Dirsch <sndirsch@suse.com>

View File

@ -24,7 +24,7 @@
%endif
Name: xwayland
Version: 22.1.4
Version: 22.1.5
Release: 0
URL: http://xorg.freedesktop.org/
Summary: X
@ -33,7 +33,6 @@ Group: System/X11/Servers/XF86_4
Source0: %{url}/archive/individual/xserver/%{name}-%{version}.tar.xz
Source1: %{url}/archive/individual/xserver/%{name}-%{version}.tar.xz.sig
Source2: xwayland.keyring
Patch0: U_Do-not-ignore-leave-events.patch
BuildRequires: meson
BuildRequires: ninja
BuildRequires: pkgconfig