From f2001b0f6dffa0a8f05def4a86ea37c4c91db724 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Ville=20Syrj=C3=A4l=C3=A4?= Date: Wed, 13 Apr 2011 21:45:43 +0300 Subject: [PATCH] composite: Fix pWin->redirectDraw when changing between manual and automatic redirection MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 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ä --- composite/compwindow.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/composite/compwindow.c b/composite/compwindow.c index bcbdf3572..d2a866d6f 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; }