[PATCH v3 5/6] composite: Fix pWin->redirectDraw when changing between manual and automatic redirection

ville.syrjala at nokia.com ville.syrjala at nokia.com
Fri Apr 15 11:42:13 PDT 2011


From: Ville Syrjälä <ville.syrjala at nokia.com>

compAllowPixmap() is not called when changing between manual and
automatic redirection modes. That means pWin->redirectDraw is left
with an incorrect value, and miComputeClips() gets confused whether
the window is supposed to be treated as transparent or not. Fix
the issue by updating pWin->redirectDraw in compCheckRedirect()
even when not calling compAllocPixmap().

Signed-off-by: Ville Syrjälä <ville.syrjala at nokia.com>
---
v3: new patch

 composite/compwindow.c |    5 +++++
 1 files changed, 5 insertions(+), 0 deletions(-)

diff --git a/composite/compwindow.c b/composite/compwindow.c
index bcbdf35..d2a866d 100644
--- a/composite/compwindow.c
+++ b/composite/compwindow.c
@@ -171,6 +171,11 @@ compCheckRedirect (WindowPtr pWin)
 	    compRestoreWindow (pWin, pPixmap);
 	    (*pScreen->DestroyPixmap) (pPixmap);
 	}
+    } else if (should) {
+	if (cw->update == CompositeRedirectAutomatic)
+	    pWin->redirectDraw = RedirectDrawAutomatic;
+	else
+	    pWin->redirectDraw = RedirectDrawManual;
     }
     return TRUE;
 }
-- 
1.7.3.4



More information about the xorg-devel mailing list