Commit a551f126 authored by Pierre-Loup A. Griffais's avatar Pierre-Loup A. Griffais Committed by Keith Packard

xfree86: Fix RandR rotation across server generations

245cb8e9 fixed xf86RotateDestroy() to actually run its teardown
code, causing the Damage object to properly be re-allocated after a
server regeneration. However the block that does that still thinks the
Rotate layer BlockHandler is wrapped from the last generation, meaning
the shadow pixmap is never re-allocated and the Damage object is never
re-registered, causing a blank screen, and potentially a driver crash
on the next teardown after the server asks it to free a 0x0 Pixmap.
Signed-off-by: default avatarPierre-Loup A. Griffais <pgriffais@nvidia.com>
Reviewed-by: Aaron Plattner's avatarAaron Plattner <aplattner@nvidia.com>
Signed-off-by: Keith Packard's avatarKeith Packard <keithp@keithp.com>
parent bfa2a185
......@@ -807,6 +807,9 @@ xf86CrtcScreenInit (ScreenPtr screen)
config->CloseScreen = screen->CloseScreen;
screen->CloseScreen = xf86CrtcCloseScreen;
/* This might still be marked wrapped from a previous generation */
config->BlockHandler = NULL;
#ifdef XFreeXDGA
_xf86_di_dga_init_internal(screen);
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment