Files
xserver/dix
Aaron Plattner 82eb490b0a privates: Clear screen-specific keys during CloseScreen
The modesetting driver corrupts memory when used after a server regeneration
because not enough memory is allocated for its pixmap privates.  This happens
because its call to dixRegisterScreenSpecificPrivateKey() does nothing because
key->initialized is still TRUE from the first server generation.  However, the
key is not in the screen's linked list of screen-specific privates because
that's freed and reallocated during the server generation loop in dix_main().

Fix this by clearing key->initialized before CloseScreen and add a call to
dixFreeScreenSpecificPrivates() for GPU screens.

v2: Just set key->initialized to FALSE and move dixFreeScreenSpecificPrivates()
calls to after CloseScreen.

v3: Move dixFreeScreenSpecificPrivates() calls back to just before CloseScreen.

Signed-off-by: Aaron Plattner <aplattner@nvidia.com>
Reviewed-by: Keith Packard <keithp@keithp.com>
2015-09-21 14:18:51 -04:00
..
2015-07-08 16:41:29 -04:00
2015-06-30 12:17:51 +10:00
2015-05-20 12:44:54 +10:00
2014-11-12 10:25:00 +10:00
2014-11-12 10:25:00 +10:00
2012-03-21 13:54:42 -07:00
2014-11-12 10:25:00 +10:00
2014-11-12 10:25:00 +10:00
2015-04-21 16:57:07 -07:00
2013-07-23 23:56:58 +01:00
2014-11-12 10:25:00 +10:00
2013-07-23 23:56:58 +01:00
2014-11-12 10:25:00 +10:00
2014-11-12 10:25:00 +10:00
2014-11-12 10:25:00 +10:00
2015-07-08 16:41:28 -04:00