xorg-libx11/include/X11
Adam Jackson 7977557541 Allow X*IfEvent() to reenter libX11
The documentation for this family of functions very clearly says not to
call into xlib in your predicate function, but historically single
threaded apps could get away with it just fine, and now that we've
forced thread-safety on the world such apps will now deadlock instead.
That's not an acceptable regression even if the app is technically
broken. This has been reported with XFCE and FVWM, and Motif's
cut-and-paste code has the same bug by inspection, so this does need to
be addressed.

This change nerfs LockDisplay/UnlockDisplay while inside the critical
bit of an IfEvent function. This is still safe in the sense that the
display remains locked and no other thread should be able to change it
from under us, but the loop that scans the event queue might not be
robust against it being modified as a side effect of protocol emitted by
the predicate callback. But that's not new, non-XInitThreads'd xlib
would have the same caveat.

Closes: xorg/lib/libx11#157
2022-11-02 14:05:38 +00:00
..
extensions XKBgeom.h: Add _Xconst qualifier to char * arguments in functions 2022-04-23 16:38:49 +00:00
.gitignore .gitignore: use common defaults with custom section # 24239 2009-11-14 09:26:16 -05:00
cursorfont.h Add an "X11_" string to header guards to avoid possible collision 2010-09-26 21:21:16 -07:00
ImUtil.h Avoid the use of "register" keyword in public headers. 2020-08-28 20:28:18 +00:00
Xcms.h Tell clang not to report -Wpadded warnings on public headers we can't fix 2013-01-09 20:50:32 -08:00
XKBlib.h XkbOpenDisplay: Add _Xconst qualifier to display name argument 2022-04-23 16:38:49 +00:00
Xlib-xcb.h Add an "X11_" string to header guards to avoid possible collision 2010-09-26 21:21:16 -07:00
Xlib.h Xlib.h: fix spelling in comment 2022-02-14 00:23:09 -06:00
XlibConf.h.in nuke RCS Ids 2008-03-09 09:08:07 +01:00
Xlibint.h Allow X*IfEvent() to reenter libX11 2022-11-02 14:05:38 +00:00
Xlocale.h Drop X_LOCALE fallback for OS'es without setlocale() 2013-11-22 22:02:17 -08:00
Xregion.h Avoid memory leak/corruption if realloc fails in Xregion.h:MEMCHECK macro 2013-08-20 12:51:04 -07:00
Xresource.h Add an "X11_" string to header guards to avoid possible collision 2010-09-26 21:21:16 -07:00
Xutil.h Tell clang not to report -Wpadded warnings on public headers we can't fix 2013-01-09 20:50:32 -08:00