Reviewed-by: Aaron Plattner <[email protected]>

On 11/04/2011 11:42 PM, Pierre-Loup A. Griffais wrote:
   From efced7bc4bba912e23a4c76f1057da7a1529dd92 Mon Sep 17 00:00:00 2001
From: Pierre-Loup A. Griffais<[email protected]>
Date: Fri, 4 Nov 2011 23:26:25 -0700
Subject: [PATCH] xfree86: Fix RandR rotation across server generations

245cb8e94fd1599 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: Pierre-Loup A. Griffais<[email protected]>
---
   hw/xfree86/modes/xf86Crtc.c |    3 +++
   1 files changed, 3 insertions(+), 0 deletions(-)

diff --git a/hw/xfree86/modes/xf86Crtc.c b/hw/xfree86/modes/xf86Crtc.c
index aac33d3..9532151 100644
--- a/hw/xfree86/modes/xf86Crtc.c
+++ b/hw/xfree86/modes/xf86Crtc.c
@@ -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);


-----------------------------------------------------------------------------------
This email message is for the sole use of the intended recipient(s) and may 
contain
confidential information.  Any unauthorized review, use, disclosure or 
distribution
is prohibited.  If you are not the intended recipient, please contact the 
sender by
reply email and destroy all copies of the original message.
-----------------------------------------------------------------------------------
_______________________________________________
[email protected]: X.Org development
Archives: http://lists.x.org/archives/xorg-devel
Info: http://lists.x.org/mailman/listinfo/xorg-devel

Reply via email to