Go to file
Keith Packard f9a04d19ae fonts: Continue when font calls return Suspended more than once
Patch 3ab6cd31cb fixed Xinerama
interactions with font servers by not putting clients to sleep
multiple times. However, it introduced additional changes dealing with
libXfont routine returning Suspended more than once for the same
request. This additional change was to abandon processing of the
current request and free the closure data by jumping to
'xinerama_sleep' in each of the functions.

Font library functions shouldn't return Suspended more than once,
except for ListFontsWithInfo, which produces multiple replies, and
thus ends up returning Suspended many times during processing.

With the jump to xinerama_sleep occurring after the first reply was
processed, the closure for the request was freed and future calls into
the ListFontsWithInfo callback resulted in dereferencing freed
memory.

This patch removes the added branches, reverting the code to its
previous behaviour, which permitted multiple Suspended returns and
simply waited for the client to be signaled again so that the callback
could continue processing the request.

Signed-off-by: Keith Packard <keithp@keithp.com>
Reviewed-by: Adam Jackson <ajax@redhat.com>
2015-10-19 13:41:27 -04:00
composite composite: Factor out backing store transition 2015-09-24 13:01:51 -04:00
config config: remove 10-evdev.conf, let the evdev driver install that file 2015-05-18 13:41:09 +10:00
damageext Replace 'pointer' type with 'void *' 2014-01-12 10:24:11 -08:00
dbe Convert top level extensions to new *allocarray functions 2015-04-21 16:57:08 -07:00
dix fonts: Continue when font calls return Suspended more than once 2015-10-19 13:41:27 -04:00
doc doc: Convert an \fP pair into appropriate tags. 2015-09-23 10:32:53 -04:00
dri3 dri3: static cleanup 2015-07-08 16:40:57 -04:00
exa exa: initialise mask_off_x and mask_off_y 2015-09-23 10:43:39 -04:00
fb Fix alphamap interactions with wfb 2015-09-29 12:21:34 -04:00
glamor glamor: Get rid of an extraneous ; at the end of a C source line 2015-09-30 10:24:33 -07:00
glx glx: Fix header length error checking in __glXDisp_RenderLarge 2015-10-19 11:51:58 -04:00
hw Merge remote-tracking branch 'jeremyhu/master' 2015-10-19 12:23:22 -04:00
include kdrive: Delete unused TOUCHSCREEN define. 2015-10-06 10:43:05 -04:00
m4 configure.ac: remove remaining TLS references 2015-03-24 17:20:26 +00:00
man man: Fix case for MIT-unspecified. 2015-09-23 10:24:48 -04:00
mi mi: Correct a miscall of abs() to instead call fabs() 2015-10-19 11:49:52 -04:00
miext rootless: Fix bogus handling of broken root clip 2015-09-21 17:44:48 -04:00
os osinit: Silence -Wunused-variable warnings 2015-10-19 11:52:05 -04:00
present present: Don't stash the MSC value when present_get_ust_msc fails 2015-09-30 16:06:26 -04:00
pseudoramiX Convert top level extensions to new *allocarray functions 2015-04-21 16:57:08 -07:00
randr randr: Silence -Wshift-negative-value warnings 2015-10-19 11:51:52 -04:00
record Convert top level extensions to new *allocarray functions 2015-04-21 16:57:08 -07:00
render render: Propagate allocation failure from createSourcePicture() 2015-10-06 13:18:22 -04:00
test libxf86config: libxf86config_internal -> libxf86config 2015-09-23 14:29:21 -04:00
Xext security: Silence some benign -Wformat warnings 2015-10-19 11:49:54 -04:00
xfixes xfixes: Unexport xfixes.h 2015-07-08 16:40:58 -04:00
Xi Xi: call UpdateDeviceState() even when the client is missing 2015-06-18 07:30:39 +10:00
xkb xkb: Keyboard mouse button emulation should not suppress other keyboard events 2015-09-29 12:21:34 -04:00
.dir-locals.el Add .dir-locals.el 2013-08-17 12:17:36 +02:00
.gitignore .gitignore: Add new autotools file 'test-driver' 2014-04-21 13:41:42 -07:00
autogen.sh autogen.sh: use quoted string variables 2015-03-13 12:31:21 +10:00
configure.ac xorg-wrapper: fix build without libdrm 2015-10-19 12:11:54 -04:00
COPYING modesetting: Merge modesetting's COPYING into the xserver's. 2014-09-15 12:46:02 -07:00
devbook.am doc: Create a script to filter xmlto output 2015-01-05 14:24:06 -08:00
docbook.am docbook.am: embed css styles inside the HTML HEAD element 2011-09-21 14:07:49 -07:00
fix-miregion Change region implementation names to eliminate the 'mi' prefix 2010-06-05 17:47:32 -07:00
fix-miregion-private Change region implementation names to eliminate the 'mi' prefix 2010-06-05 17:47:32 -07:00
fix-patch-whitespace Rename region macros to eliminate screen argument 2010-06-05 18:59:00 -07:00
fix-region Rename region macros to eliminate screen argument 2010-06-05 18:59:00 -07:00
Makefile.am DIST_SUBDIRS needs to include glamor, even if it isn't built 2014-02-13 15:25:56 -08:00
manpages.am Xorg: Add a suid root wrapper 2014-03-12 08:50:05 +01:00
README packaging: provide a default README file #24206 2010-01-27 14:00:17 -08:00
xorg-server.m4 macros: clarify documentation 2012-11-05 13:24:57 -06:00
xorg-server.pc.in xfree86: link modules against Xorg symbols on Cygwin 2012-04-05 21:57:07 -05:00
xserver.ent.in doc: relocate xserver.ent in the package root directory 2011-05-14 11:22:26 -07:00

					X Server

The X server accepts requests from client applications to create windows,
which are (normally rectangular) "virtual screens" that the client program
can draw into.

Windows are then composed on the actual screen by the X server
(or by a separate composite manager) as directed by the window manager,
which usually communicates with the user via graphical controls such as buttons
and draggable titlebars and borders.

For a comprehensive overview of X Server and X Window System, consult the
following article:
http://en.wikipedia.org/wiki/X_server

All questions regarding this software should be directed at the
Xorg mailing list:

        http://lists.freedesktop.org/mailman/listinfo/xorg

Please submit bug reports to the Xorg bugzilla:

        https://bugs.freedesktop.org/enter_bug.cgi?product=xorg

The master development code repository can be found at:

        git://anongit.freedesktop.org/git/xorg/xserver

        http://cgit.freedesktop.org/xorg/xserver

For patch submission instructions, see:

	http://www.x.org/wiki/Development/Documentation/SubmittingPatches

For more information on the git code manager, see:

        http://wiki.x.org/wiki/GitPage