Find a file
Jesse Barnes 73fe4a0952 DRI2: drawable lifetime fixes
Handle drawable destruction and lifetime correctly.

Check whether the drawable priv is valid in DRI2SwapInterval(),
DRI2WaitSBC() and DRI2WaitMSC(); it may have gone away, so be sure to
check it before using it.

If more than 1 outstanding swap is queued, we may complete several after
an app has exited.  If we free it after the first one completes and the
refcount reaches 0, we'll crash the server on subsequent completions.
So delay freeing until all swaps complete and remove the error message
as this is a normal occurence.  To do this properly, we must also avoid
destroying drawables in DRI2DestroyDrawable() if a swap or wait event is
pending.

And finally, make sure we free drawables in DRI2WaitMSCComplete() if
necessary (i.e. if the refcount has reached 0 and this MSC was the last
pending event on the object).

Reported-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
Reviewed-by: Mario Kleiner <mario.kleiner@tuebingen.mpg.de>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
(cherry picked from commit 8476d99231)
2010-05-21 13:55:19 +10:00
composite os: Prevent core dump from being truncated. 2010-02-17 23:20:52 -08:00
config Move 10-evdev.conf to system config dir $datadir/X11/xorg.conf.d 2010-04-09 11:49:27 +10:00
damageext Add type name argument to CreateNewResourceType 2009-12-18 17:44:12 -08:00
dbe Add type name argument to CreateNewResourceType 2009-12-18 17:44:12 -08:00
dix Fix cursor ref counting mistakes with sprites and xf86Cursor.c 2010-05-18 14:41:46 +10:00
doc Fix .man.N targets for AM_SILENT_RULES 2010-03-22 00:45:55 -05:00
exa Exa screen private has SavedSourceValidate, not SourceValidate 2010-04-30 19:30:04 +10:00
fb fb: fbFinishScreenInit: leaked_storage: Variable "(visuals|depths)" goes out of scope 2010-03-21 15:20:27 -07:00
glx Revert "DRI2: Track DRI2 drawables as resources, not privates" 2010-04-27 19:01:14 +10:00
hw DRI2: drawable lifetime fixes 2010-05-21 13:55:19 +10:00
include dix: make DeviceEvent coordinates signed for Xinerama. #24986 2010-05-18 14:42:26 +10:00
m4 dolt: add Cygwin to supported platforms 2009-10-13 20:30:22 -07:00
mi miPolyPoint bugfix: Check memory allocation before changing the GC. 2010-05-18 14:43:27 +10:00
miext rootless: Remove an unneeded comment 2010-05-02 20:02:53 -07:00
os Merge branch 'server-1.8-branch' of git://people.freedesktop.org/~jeremyhu/xserver into server-1.8-branch 2010-05-18 14:46:42 +10:00
randr Don't double-swap the RandR PropertyNotify event 2010-02-12 14:55:19 -08:00
record Re-enable RECORD extension. 2010-02-22 12:04:28 +10:00
render Check pixmap allocation return value when creating glyphs 2010-05-18 14:45:22 +10:00
test test/xi2: Initialize predefined atoms before XInputExtensionInit. 2010-05-18 14:44:58 +10:00
Xext Fix wrong bracket values when startOver = FALSE. 2010-05-18 14:43:40 +10:00
xfixes Make sure XFixes invisible cursor gets freed on server reset 2010-05-18 14:42:16 +10:00
Xi Xi: reset the known properties at the end of the server generation. 2010-05-18 14:42:23 +10:00
xkb xkb: Fix omissions in geometry initialization #27679 2010-05-01 07:36:32 +10:00
.gitignore .gitignore: use common defaults with custom section #24239 2009-11-11 21:40:20 -08:00
autogen.sh autogen.sh: Pass --force to autoreconf 2008-07-22 16:55:26 +03:00
configure.ac xserver 1.8.1 2010-05-11 13:55:55 +10:00
COPYING Update Sun license notices to current X.Org standard form 2009-12-16 17:11:35 -08:00
cpprules.in xfree86: Set a saner search path for xorg.conf.d 2010-04-09 11:49:26 +10:00
Makefile.am Fix relink targets for silent rules 2010-03-22 00:45:52 -05:00
README packaging: provide a default README file #24206 2010-01-27 14:00:17 -08:00
xorg-server.m4 macros: use PKG_CONFIG variable rather than executable name 2010-01-07 12:57:23 -08:00
xorg-server.pc.in xfree86: Search for a system xorg.conf.d 2010-04-09 11:49:27 +10: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