[packages/xorg-lib-libX11] upstream revert for change causing regressions; rel 2

atler atler at pld-linux.org
Thu Jan 26 22:21:03 CET 2023


commit 5ac562883ae14b6b6b222b08e2c5e275c61cb303
Author: Jan Palus <atler at pld-linux.org>
Date:   Thu Jan 26 22:19:47 2023 +0100

    upstream revert for change causing regressions; rel 2
    
    from: https://gitlab.freedesktop.org/xorg/lib/libx11/-/merge_requests/180

 revert-update-xputbackevent.patch | 57 +++++++++++++++++++++++++++++++++++++++
 xorg-lib-libX11.spec              |  4 ++-
 2 files changed, 60 insertions(+), 1 deletion(-)
---
diff --git a/xorg-lib-libX11.spec b/xorg-lib-libX11.spec
index 8d6a24b..61f2672 100644
--- a/xorg-lib-libX11.spec
+++ b/xorg-lib-libX11.spec
@@ -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/,' \
diff --git a/revert-update-xputbackevent.patch b/revert-update-xputbackevent.patch
new file mode 100644
index 0000000..d249457
--- /dev/null
+++ b/revert-update-xputbackevent.patch
@@ -0,0 +1,57 @@
+From 88399e01be679bfcc9a5e8922ffe2c47f0e56dee Mon Sep 17 00:00:00 2001
+From: Yuxuan Shui <yshuiv7 at 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 at 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
+
================================================================

---- gitweb:

http://git.pld-linux.org/gitweb.cgi/packages/xorg-lib-libX11.git/commitdiff/5ac562883ae14b6b6b222b08e2c5e275c61cb303



More information about the pld-cvs-commit mailing list