]> git.pld-linux.org Git - packages/xorg-lib-libX11.git/commitdiff
upstream revert for change causing regressions; rel 2 auto/th/xorg-lib-libX11-1.8.3-2
authorJan Palus <atler@pld-linux.org>
Thu, 26 Jan 2023 21:19:47 +0000 (22:19 +0100)
committerJan Palus <atler@pld-linux.org>
Thu, 26 Jan 2023 21:19:47 +0000 (22:19 +0100)
from: https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/180

revert-update-xputbackevent.patch [new file with mode: 0644]
xorg-lib-libX11.spec

diff --git a/revert-update-xputbackevent.patch b/revert-update-xputbackevent.patch
new file mode 100644 (file)
index 0000000..d249457
--- /dev/null
@@ -0,0 +1,57 @@
+From 88399e01be679bfcc9a5e8922ffe2c47f0e56dee Mon Sep 17 00:00:00 2001
+From: Yuxuan Shui <yshuiv7@gmail.com>
+Date: Tue, 3 Jan 2023 15:09:28 +0000
+Subject: [PATCH] Revert "Update XPutBackEvent() to support clients that put
+ back unpadded events"
+
+This reverts commit d6d6cba90215d323567fef13d6565756c9956f60.
+
+The reverted commit intended to fix the problem where an unpadded X
+event struct is passed into XPutBackEvent, by creating a padded struct
+with _XEventToWire and _XWireToEvent. However, _XWireToEvent updates the
+last sequence number in Display, which may cause xlib to complain about
+lost sequence numbers.
+
+IMO, the problem that commit tried to solve is a bug in the client
+library, and workaround it inside Xlib is bad practice, especially given
+the problem it caused. Plus, the offender cited in the original commit
+message, freeglut, has already fixed this problem.
+
+Fixes: #176 #174
+
+Signed-off-by: Yuxuan Shui <yshuiv7@gmail.com>
+---
+ src/PutBEvent.c | 15 +--------------
+ 1 file changed, 1 insertion(+), 14 deletions(-)
+
+diff --git a/src/PutBEvent.c b/src/PutBEvent.c
+index f7b74b31..0f9df342 100644
+--- a/src/PutBEvent.c
++++ b/src/PutBEvent.c
+@@ -79,22 +79,9 @@ XPutBackEvent (
+     register XEvent *event)
+       {
+       int ret;
+-      xEvent wire = {0};
+-      XEvent lib = {0};
+-      Status (*fp)(Display *, XEvent *, xEvent *);
+-      int type = event->type & 0177;
+       LockDisplay(dpy);
+-      fp = dpy->wire_vec[type];
+-      if (fp == NULL)
+-              fp = _XEventToWire;
+-      ret = (*fp)(dpy, event, &wire);
+-      if (ret)
+-      {
+-              ret = (*dpy->event_vec[type])(dpy, &lib, &wire);
+-              if (ret)
+-                      ret = _XPutBackEvent(dpy, &lib);
+-      }
++      ret = _XPutBackEvent(dpy, event);
+       UnlockDisplay(dpy);
+       return ret;
+       }
+-- 
+GitLab
+
index 8d6a24bb68294a6707ee8cae3be02f4327a5f837..61f26726cc079d5f2d841e565a5b7e5a024b046d 100644 (file)
@@ -6,13 +6,14 @@ Summary:      Core X11 protocol client library
 Summary(pl.UTF-8):     Podstawowa biblioteka kliencka protokołu X11
 Name:          xorg-lib-libX11
 Version:       1.8.3
-Release:       1
+Release:       2
 License:       MIT
 Group:         X11/Libraries
 Source0:       https://xorg.freedesktop.org/releases/individual/lib/libX11-%{version}.tar.xz
 # Source0-md5: f4855944f068d8a623c82c4162747fa3
 # sync locales and their encodings with glibc
 Patch0:                %{name}-glibc-locale_sync.patch
+Patch1:                revert-update-xputbackevent.patch
 URL:           https://xorg.freedesktop.org/
 BuildRequires: autoconf >= 2.60
 BuildRequires: automake
@@ -104,6 +105,7 @@ Pakiet zawiera statyczną bibliotekę libX11.
 # do we need this patch for anything? (aka is any pld user in need for these new locales)
 # https://bugs.freedesktop.org/show_bug.cgi?id=7415
 %patch0 -p1
+%patch1 -p1
 
 # support __libmansuffix__ and __filemansuffix__ with "x" suffix (per FHS 2.3)
 %{__sed} -i -e 's,\.so man__libmansuffix__/,.so man3/,' \
This page took 0.299192 seconds and 4 git commands to generate.