From: Ville Syrjälä <[email protected]>

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ä <[email protected]>
---
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

_______________________________________________
[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