Go to file
Jesse Barnes 8476d99231 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>
2010-03-29 10:02:22 -07:00
composite os: Prevent core dump from being truncated. 2010-02-17 23:20:52 -08:00
config udev: Don't filter subsystem "input" 2010-02-15 15:27:42 +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 New header for XF86Bigfont server functions 2010-03-22 00:48:04 -05:00
doc Fix .man.N targets for AM_SILENT_RULES 2010-03-22 00:45:55 -05:00
exa exa: exaFinishAccess: Overrun of static array "pExaScr->access" of size 6 at position 6 with index variable "i" 2010-03-21 15:20:07 -07:00
fb fb: fbFinishScreenInit: leaked_storage: Variable "(visuals|depths)" goes out of scope 2010-03-21 15:20:27 -07:00
glx glx: Compile fix to let server compile with new and old mesa 2010-02-24 09:16:46 -08:00
hw DRI2: drawable lifetime fixes 2010-03-29 10:02:22 -07:00
include Merge commit 'fa5103a02bd509e4a102afdad2ab26cb22210367' 2010-03-21 15:38:40 -07:00
m4 dolt: add Cygwin to supported platforms 2009-10-13 20:30:22 -07:00
mi mi: remove deprecated #include <X11/extensions/xf86bigfstr.h> in miinitext.c 2010-03-22 00:47:09 -05:00
miext os: Prevent core dump from being truncated. 2010-02-17 23:20:52 -08:00
os New header for XF86Bigfont server functions 2010-03-22 00:48:04 -05: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 RENDER: Fix gradient and solid fill pictures with Xinerama, and misc cleanup 2010-01-29 21:38:50 -08:00
test dix: EventToCore needs to copy the root window too. 2010-01-27 14:38:16 -08:00
Xext Xext: Fix cursor reference counting hazard. 2010-03-22 10:34:35 -07:00
xfixes Add type name argument to CreateNewResourceType 2009-12-18 17:44:12 -08:00
Xi Record: Avoid duplicates from replaying frozen events 2010-03-12 13:06:22 +10:00
xkb xkb: sed True -> TRUE and False -> FALSE 2010-02-02 10:03:30 +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 Use libtool -export-dynamic flag for portability 2010-03-22 00:45:48 -05:00
COPYING Update Sun license notices to current X.Org standard form 2009-12-16 17:11:35 -08:00
cpprules.in Respect value of SED from configure 2010-03-22 00:45:54 -05: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 Since font modules are dead, don't mention them in xorg-server.pc 2009-07-09 17:21:07 -04: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