Go to file
Dave Airlie 8f4640bdb9 randr: cleanup provider properly
So in the cold plug server shutdown case, we reap the resources
before we call CloseScreen handlers, so the config->randr_provider
is a dangling pointer when the xf86CrtcCloseScreen handler is called,

however in the hot screen unplug case, we can't rely on automatically
reaped resources, so we need to clean up the provider in the xf86CrtcCloseScreen
case.

This patch provides a cleanup callback from the randr provider removal
into the DDX so it can cleanup properly, this then gets called by the automatic
code for cold plug, or if hot unplug it gets called explicitly.

Fixes a number of random server crashes on shutdown
Bugzilla: https://bugs.freedesktop.org/show_bug.cgi?id=58174
Bugzilla: https://bugzilla.redhat.com/show_bug.cgi?id=891140

Reviewed-by: Peter Hutterer <peter.hutterer@who-t.net>
Signed-off-by: Dave Airlie <airlied@redhat.com>
2013-03-01 18:14:28 +10:00
composite Move extension initialisation prototypes into extinit.h 2012-07-09 23:06:41 -07:00
config config/udev: fix "removing GPU device" format string mistake 2013-01-21 19:41:09 -08:00
damageext Move extension initialisation prototypes into extinit.h 2012-07-09 23:06:41 -07:00
dbe Move extension initialisation prototypes into extinit.h 2012-07-09 23:06:41 -07:00
dix Short-cut the input device cleanup process during AbortServer() 2013-02-08 09:06:14 -08:00
doc doc: Update documentation about Windows platforms support a bit 2012-10-29 12:21:14 +00:00
exa Fix formatting of address operators 2012-12-05 18:09:48 -06:00
fb Fix formatting of address operators 2012-12-05 18:09:48 -06:00
glx Merge remote-tracking branch 'yselkowitz/master' 2012-12-19 12:22:03 -08:00
hw randr: cleanup provider properly 2013-03-01 18:14:28 +10:00
include randr: bump advertised RandR version to 1.4 2013-02-08 09:09:54 -08:00
m4 XORG_TLS: Pick the first option that works (ie: prefer __thread) 2013-02-14 09:20:47 -08:00
man Correct description of -displayfd option in man page. 2012-10-11 12:53:57 +01:00
mi mi: Ensure pointer emulating touch events update the sprite 2013-01-09 11:23:06 +10:00
miext miext/damage: Only wrap into the GC ops chain if there's a listener (v3) 2012-09-23 10:47:18 -07:00
os Merge remote-tracking branch 'jeremyhu/master' 2013-02-14 11:05:48 -08:00
randr randr: cleanup provider properly 2013-03-01 18:14:28 +10:00
record Move extension initialisation prototypes into extinit.h 2012-07-09 23:06:41 -07:00
render render: Unwrap early on the animated cursor BlockHandler 2013-01-09 11:23:12 +10:00
test os: fix pnprintf OOB buffer read for unterminated length modifiers 2013-02-14 11:01:21 -08:00
Xext Xext: if a root window is given in XTestFakeInput, move to that 2013-02-08 13:49:49 +10:00
xfixes Merge remote-tracking branch 'whot/barriers' 2012-12-19 12:09:31 -08:00
Xi Xi: limit valuator copy to valuator array size (#59939) 2013-02-08 13:47:23 +10:00
xkb xkb: Fix repeat behaviour of redirect and message actions 2013-02-08 13:54:09 +10:00
.gitignore doc: relocate xserver.ent in the package root directory 2011-05-14 11:22:26 -07:00
autogen.sh autogen.sh: Honor NOCONFIGURE=1 2012-10-19 13:12:33 +10:00
configure.ac Update to version 1.3.99.902 (1.14 RC2) 2013-02-13 21:39:37 -08:00
COPYING Loader: Remove extension initialisation sorting 2012-07-10 00:31:02 -07:00
devbook.am devbook.am: maintenance update from docbook.am 2011-09-21 14:07:52 -07: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 Add 'install-headers' target in the top-level Makefile 2012-07-09 16:29:04 -07:00
manpages.am Xdmx.man: Show actual configured XKB defaults instead of old hardcoded values 2011-06-21 17:54:14 -07: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