[PATCH v3 6/6] composite: Recompute clipping when changing between manual and automatic redirection
ville.syrjala at nokia.com
ville.syrjala at nokia.com
Fri Apr 15 11:42:14 PDT 2011
From: Ville Syrjälä <ville.syrjala at nokia.com>
Call compMarkWindows() when changing between manual and automatic
redirection modes. Otherwise the window clipping won't be recomputed
correctly.
Signed-off-by: Ville Syrjälä <ville.syrjala at nokia.com>
---
v3: new patch
composite/compalloc.c | 6 ++++++
1 files changed, 6 insertions(+), 0 deletions(-)
diff --git a/composite/compalloc.c b/composite/compalloc.c
index e6f70e4..705e1dc 100644
--- a/composite/compalloc.c
+++ b/composite/compalloc.c
@@ -226,6 +226,10 @@ compRedirectWindow (ClientPtr pClient, WindowPtr pWin, int update)
}
cw->update = CompositeRedirectManual;
}
+ else if (cw->update == CompositeRedirectAutomatic && !cw->damageRegistered) {
+ if (!anyMarked)
+ anyMarked = compMarkWindows (pWin, &pLayerWin);
+ }
if (!compCheckRedirect (pWin))
{
@@ -314,6 +318,8 @@ compFreeClientWindow (WindowPtr pWin, XID id)
else if (cw->update == CompositeRedirectAutomatic &&
!cw->damageRegistered && pWin->redirectDraw != RedirectDrawNone)
{
+ anyMarked = compMarkWindows (pWin, &pLayerWin);
+
DamageRegister (&pWin->drawable, cw->damage);
cw->damageRegistered = TRUE;
pWin->redirectDraw = RedirectDrawAutomatic;
--
1.7.3.4
More information about the xorg-devel
mailing list