xserver: Branch 'master'

Keith Packard keithp at kemper.freedesktop.org
Mon Oct 3 11:41:48 PDT 2011


 hw/xfree86/modes/xf86Rotate.c |    4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

New commits:
commit 463dd87062edaa974cb8c7163328a53197f237e1
Author: Pauli Nieminen <pauli.nieminen at linux.intel.com>
Date:   Thu Sep 22 18:38:53 2011 +0300

    xf86/modes: Fix shadow rotation crashing when screen pixmap changes
    
    Driver may change screen pixmaps after page flipping that would then
    make damage lose track of the root pixmap.
    
    Using root window for shadow damages fixes the problem because
    SetWindowPixmap is implemented in shadow code.
    
    Signed-off-by: Pauli Nieminen <pauli.nieminen at linux.intel.com>
    Reviewed-by: Keith Packard <keithp at keithp.com>
    Signed-off-by: Keith Packard <keithp at keithp.com>

diff --git a/hw/xfree86/modes/xf86Rotate.c b/hw/xfree86/modes/xf86Rotate.c
index 45aabf0..ff7000b 100644
--- a/hw/xfree86/modes/xf86Rotate.c
+++ b/hw/xfree86/modes/xf86Rotate.c
@@ -198,7 +198,7 @@ xf86RotatePrepare (ScreenPtr pScreen)
 	    if (!xf86_config->rotation_damage_registered)
 	    {
 		/* Hook damage to screen pixmap */
-		DamageRegister (&(*pScreen->GetScreenPixmap)(pScreen)->drawable,
+		DamageRegister (&pScreen->root->drawable,
 				xf86_config->rotation_damage);
 		xf86_config->rotation_damage_registered = TRUE;
 		EnableLimitedSchedulingLatency();
@@ -305,7 +305,7 @@ xf86RotateDestroy (xf86CrtcPtr crtc)
 	/* Free damage structure */
 	if (xf86_config->rotation_damage_registered)
 	{
-	    DamageUnregister (&(*pScreen->GetScreenPixmap)(pScreen)->drawable,
+	    DamageUnregister (&pScreen->root->drawable,
 			      xf86_config->rotation_damage);
 	    xf86_config->rotation_damage_registered = FALSE;
 	    DisableLimitedSchedulingLatency();


More information about the xorg-commit mailing list