Find a file
Jamey Sharp e6a7b70cdb Support multiple independent internal sync handlers
Xlib has several independent tasks that need to be performed with the
display unlocked. It does this by replacing the existing sync handler with
one of a variety of internal sync handlers. However, if multiple internal
sync handlers need to run, then the last one registering wins and
previously registered internal sync handlers are never invoked. This
manifested as a bug with DRI applications on Xlib/XCB as that requires
both an XID handler after every XID allocation, and the periodic sequence
number handler. The XID handler would win, and the sequence number handler
would never be invoked.

Fix this by unifying the internal sync handler mechanism into a single
function that calls all of the known internal sync handlers. They all need
to deal with being called when not strictly necessary now.

Signed-off-by: Keith Packard <keithp@keithp.com>
Signed-off-by: Jamey Sharp <jamey@minilop.net>
Signed-off-by: Josh Triplett <josh@freedesktop.org>
2008-11-04 08:54:01 -08:00
include Support multiple independent internal sync handlers 2008-11-04 08:54:01 -08:00
man man: fix formatting error in XkbGetIndicatorState man page. 2008-10-28 11:56:55 +10:30
modules Bug #14898: Don't abuse the sprintf() implementation. 2008-06-24 13:16:53 -04:00
nls Fix problem with <dead_acute> <c> in pt_BR.UTF-8 2008-09-14 19:15:26 -04:00
src Support multiple independent internal sync handlers 2008-11-04 08:54:01 -08:00
.gitignore .gitignore: Add dolt files 2008-10-29 14:37:44 -07:00
acinclude.m4 Dolt-ify 2008-10-25 00:37:53 -04:00
AUTHORS Fix documentation typo 2008-09-08 16:42:48 -04:00
autogen.sh - For now put xtrans in X11/Xtrans/X11, since libX11 is looking for it in <X11/...> 2005-05-13 22:53:36 +00:00
configure.ac Use XCB's new socket handoff mechanism rather than the old XCB Xlib lock. 2008-11-04 08:53:09 -08:00
COPYING - For now put xtrans in X11/Xtrans/X11, since libX11 is looking for it in <X11/...> 2005-05-13 22:53:36 +00:00
cpprules.in For nls/*.pre, allow people to comment lines by starting them with '##'. 2007-04-06 12:46:25 +02:00
INSTALL - For now put xtrans in X11/Xtrans/X11, since libX11 is looking for it in <X11/...> 2005-05-13 22:53:36 +00:00
Makefile.am Makefile.am: make ChangeLog hook safer 2006-12-06 19:11:35 +02:00
NEWS Move security fixes to the top of NEWS, and fix spacing. 2007-06-03 21:41:47 -07:00
README Fix email addresses in README 2006-10-06 11:23:00 -07:00
x11-xcb.pc.in Split public Xlib/XCB functions into libX11-xcb 2006-10-05 17:44:22 -07:00
x11.pc.in Add xcb-xlib dependency to x11.pc when built against XCB. 2006-11-07 09:32:00 -08:00

#define S(x, y)  y##x

Please contact S(south.rr.com, wt@mid) and jim.gettys@hp.com before doing
any commits on this module.

This is the libX11 from XFree86.

The goal of this project are (1) to get libX11 out of the huge
XF86 hunk of code, (2) to make it buildable with autotools, and
(3) keep the ability to easily merge bug fixes from libX11 in
XF86 into this code, (4) make it possible for people to work with
Xlib without having to deal with the entire XFree86 distribution,
so that bugs can get detected and fixed, (5) provide a place to
move the X library forward.

1 and 2 are related in that a new build system will need to be
developed to get libX11 building outside of the XF86 tree.
Autotools was chosen for a variety of reasons, not the least
of which was that it is very common in the open source community.

For 3, notice that the directory structure of the src subdirectory
is congruant to the directory structure of xc/lib/X11 in the
XFree86 tree. Absolutely, do not break this unless this becomes
the dominant libX11. This allows easier incorporation of patches
from the XFree86 libX11.

For 4, notice that the library can be built without having to build
everything else, so you can build and test enhancements without
replacing your entire X distribution.

For 5, see the xlibs@pdx.freedesktop.org mailing list.  For example,
lots of "stuff" was pushed into Xlib that should have been stand-alone
libraries, since they are not of universal interest and touch the X
wire protocol.  (Mea culpa; a mistake I made 15 years ago that didn't
matter much in the days before shared libraries has been amplified for
aeons- jg).  And Xlib does not tolerate loss of its connection well,
and so on...

Thanks for checking this package out, Warren Turkal and Jim Gettys.