xserver-multidpi/randr
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
..
Makefile.am randr: add provider object and provider property support (v6) 2012-07-06 22:16:02 +01:00
randr.c randr: call RRProviderInit in the proper place. 2012-11-30 07:25:54 -08:00
randrstr.h randr: cleanup provider properly 2013-03-01 18:14:28 +10:00
rrcrtc.c randr: unref the provider shared pixmap the appropriate number of times 2013-02-11 22:28:24 -08:00
rrdispatch.c Use C99 designated initializers in randr Replies 2012-07-09 19:58:30 -07:00
rrinfo.c randr: Clean up compiler warnings about unused and shadowing variables 2012-06-21 18:42:46 -07:00
rrmode.c RRModeCreate: plug memory leak of newModes if AddResource fails 2012-08-06 15:22:53 -07:00
rroutput.c Use C99 designated initializers in extension Events 2012-07-09 22:52:30 -07:00
rrpointer.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
rrproperty.c rrproperty.c: free newly allocated prop in more error paths 2012-08-06 15:22:53 -07:00
rrprovider.c randr: cleanup provider properly 2013-03-01 18:14:28 +10:00
rrproviderproperty.c rrproviderproperty.c: free newly allocated prop in more error paths 2012-08-06 15:22:53 -07:00
rrscreen.c Use C99 designated initializers in RandR 1.4 extension Replies 2012-07-16 21:25:07 -07:00
rrsdispatch.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
rrtransform.c Introduce a consistent coding style 2012-03-21 13:54:42 -07:00
rrtransform.h randr: Remove redundant declaration. 2012-05-14 13:16:54 +01:00
rrxinerama.c randr: fix xinerama output for output slaves 2012-08-06 15:42:39 -07:00