diff options
author | V3n3RiX <venerix@koprulu.sector> | 2023-02-21 02:22:31 +0000 |
---|---|---|
committer | V3n3RiX <venerix@koprulu.sector> | 2023-02-21 02:22:31 +0000 |
commit | 3b32ae7547d742f6e65770361188670710bec186 (patch) | |
tree | 51b5a45e8291644df70197de17f086e1640e9c7e /x11-libs/libX11 | |
parent | dd03974882f85ca04e35cfbc97f7ff756f5d5c20 (diff) |
gentoo auto-resync : 21:02:2023 - 02:22:31
Diffstat (limited to 'x11-libs/libX11')
-rw-r--r-- | x11-libs/libX11/Manifest | 1 | ||||
-rw-r--r-- | x11-libs/libX11/files/libX11-1.8.2-reentrancy.patch | 149 |
2 files changed, 0 insertions, 150 deletions
diff --git a/x11-libs/libX11/Manifest b/x11-libs/libX11/Manifest index a83719691655..61a6ec158849 100644 --- a/x11-libs/libX11/Manifest +++ b/x11-libs/libX11/Manifest @@ -1,4 +1,3 @@ -AUX libX11-1.8.2-reentrancy.patch 4077 BLAKE2B 6888f6185a03c9c5fbe79a3ce6d2b2a78ee951038a7c5cdbcd94e72a6c24d7aca3289c724b0c940a245cd352e3f50bf064fef5c00c02321e7cb67b94a39cd13d SHA512 6d8e9f578e33cb36236757127634899f71c7c194d536fd5ba7617f96fc38928f5d402aa9adb57a2939cd6dad041ba0431a2281aaec7e5b25395b67355a10bbce AUX libX11-1.8.3-reentrancy-again.patch 4713 BLAKE2B e2d308bd011120655009e5af1e5cbbefa217c3de1c7e78d3ddc64d0ce02535cc63903696ec21cb5743b49ee016a3c8ded22ee62a2f1256b71c0f245c51108de5 SHA512 a6a2f504fe7b860a86ac140c2b1ad7ca3c4a8fc2170535a5cac365bf8de40fa576f0d05134b1eb316192b4acb909bba473298704b18c7c1e1602e2a4f56e592f AUX libX11-1.8.3-revert-XPutBackEvent.patch 1772 BLAKE2B b60d6cb535d6557fb2ba84a962af77481c6ebd1780d23869172cb331a09f7638fee75deeb73b02a5c37f658f5d04d2b90a6f5c9d91121c187f9d98a311c3c718 SHA512 df965ba65ca448686e200feaee11f8f9fb90b27fd2def30aee930d21b03682ed83613d3630b024fe6d1fd2894e76fa35ff8d04afc6e958981ed9b3e8f51e834c DIST libX11-1.7.5.tar.xz 1853152 BLAKE2B 95ceccbfd37d8a749a533bdc03feba94236a47185a2cd7ad6592c534c17636906b735aa5800d810d13d3e342e3dbe281bb1f1f3ecab9d07e6a6a50f33beef8af SHA512 ef33e2f631226cab27657f46e1fd4cfc928f62f928d8297474e7b993017c8f92b60272eed6515990cdf3a9d34581837b7a3896e584f3546dd26f3790034df347 diff --git a/x11-libs/libX11/files/libX11-1.8.2-reentrancy.patch b/x11-libs/libX11/files/libX11-1.8.2-reentrancy.patch deleted file mode 100644 index 784adaeb008f..000000000000 --- a/x11-libs/libX11/files/libX11-1.8.2-reentrancy.patch +++ /dev/null @@ -1,149 +0,0 @@ -https://gitlab.freedesktop.org/xorg/lib/libx11/-/commit/a9e845809bcaae22496bc8aa3ca252b410d5f39b -https://bugs.gentoo.org/862115 - -From a9e845809bcaae22496bc8aa3ca252b410d5f39b Mon Sep 17 00:00:00 2001 -From: Matthieu Herrb <matthieu@herrb.eu> -Date: Fri, 11 Nov 2022 18:55:23 +0100 -Subject: [PATCH] Fix 797755 Allow X*IfEvent() to reenter libX11 - -- the activation logic is reversed -- there is also _XInternalLockDisplay() that needs protection -- I've found cases (in fvwm2) where the callback calls XCheckIfEvent() - recursively. So the flag needs to be a counter. - -Reviewed-by: Adam Jackson <ajax@redhat.com> ---- a/include/X11/Xlibint.h -+++ b/include/X11/Xlibint.h -@@ -207,7 +207,7 @@ struct _XDisplay - - XIOErrorExitHandler exit_handler; - void *exit_handler_data; -- Bool in_ifevent; -+ CARD32 in_ifevent; - }; - - #define XAllocIDs(dpy,ids,n) (*(dpy)->idlist_alloc)(dpy,ids,n) ---- a/src/ChkIfEv.c -+++ b/src/ChkIfEv.c -@@ -49,8 +49,8 @@ Bool XCheckIfEvent ( - unsigned long qe_serial = 0; - int n; /* time through count */ - -+ dpy->in_ifevent++; - LockDisplay(dpy); -- dpy->in_ifevent = True; - prev = NULL; - for (n = 3; --n >= 0;) { - for (qelt = prev ? prev->next : dpy->head; -@@ -80,7 +80,7 @@ Bool XCheckIfEvent ( - /* another thread has snatched this event */ - prev = NULL; - } -- dpy->in_ifevent = False; -+ dpy->in_ifevent--; - UnlockDisplay(dpy); - return False; - } ---- a/src/IfEvent.c -+++ b/src/IfEvent.c -@@ -48,8 +48,8 @@ XIfEvent ( - register _XQEvent *qelt, *prev; - unsigned long qe_serial = 0; - -+ dpy->in_ifevent++; - LockDisplay(dpy); -- dpy->in_ifevent = True; - prev = NULL; - while (1) { - for (qelt = prev ? prev->next : dpy->head; -@@ -60,7 +60,7 @@ XIfEvent ( - *event = qelt->event; - _XDeq(dpy, prev, qelt); - _XStoreEventCookie(dpy, event); -- dpy->in_ifevent = False; -+ dpy->in_ifevent--; - UnlockDisplay(dpy); - return 0; - } ---- a/src/OpenDis.c -+++ b/src/OpenDis.c -@@ -189,7 +189,7 @@ XOpenDisplay ( - dpy->xcmisc_opcode = 0; - dpy->xkb_info = NULL; - dpy->exit_handler_data = NULL; -- dpy->in_ifevent = False; -+ dpy->in_ifevent = 0; - - /* - * Setup other information in this display structure. ---- a/src/PeekIfEv.c -+++ b/src/PeekIfEv.c -@@ -49,8 +49,8 @@ XPeekIfEvent ( - register _XQEvent *prev, *qelt; - unsigned long qe_serial = 0; - -+ dpy->in_ifevent++; - LockDisplay(dpy); -- dpy->in_ifevent = True; - prev = NULL; - while (1) { - for (qelt = prev ? prev->next : dpy->head; -@@ -64,7 +64,7 @@ XPeekIfEvent ( - _XStoreEventCookie(dpy, ©); - *event = copy; - } -- dpy->in_ifevent = False; -+ dpy->in_ifevent--; - UnlockDisplay(dpy); - return 0; - } ---- a/src/locking.c -+++ b/src/locking.c -@@ -465,17 +465,33 @@ static void _XIfEventLockDisplay( - /* assert(dpy->in_ifevent); */ - } - -+static void _XInternalLockDisplay( -+ Display *dpy, -+ Bool wskip -+ XTHREADS_FILE_LINE_ARGS -+ ); -+ -+static void _XIfEventInternalLockDisplay( -+ Display *dpy, -+ Bool wskip -+ XTHREADS_FILE_LINE_ARGS -+ ) -+{ -+ /* assert(dpy->in_ifevent); */ -+} -+ - static void _XIfEventUnlockDisplay( - Display *dpy - XTHREADS_FILE_LINE_ARGS - ) - { -- if (dpy->in_ifevent) -+ if (dpy->in_ifevent == 0) { -+ dpy->lock_fns->lock_display = _XLockDisplay; -+ dpy->lock_fns->unlock_display = _XUnlockDisplay; -+ dpy->lock->internal_lock_display = _XInternalLockDisplay; -+ UnlockDisplay(dpy); -+ } else - return; -- -- dpy->lock_fns->lock_display = _XLockDisplay; -- dpy->lock_fns->unlock_display = _XUnlockDisplay; -- UnlockDisplay(dpy); - } - - static void _XLockDisplay( -@@ -507,6 +523,7 @@ static void _XLockDisplay( - if (dpy->in_ifevent) { - dpy->lock_fns->lock_display = _XIfEventLockDisplay; - dpy->lock_fns->unlock_display = _XIfEventUnlockDisplay; -+ dpy->lock->internal_lock_display = _XIfEventInternalLockDisplay; - } - } - -GitLab |