afcbbe2
From: Adam Jackson <ajax@redhat.com>
afcbbe2
Date: Sun, 28 Oct 2007 09:37:52 +0100
afcbbe2
Subject: [PATCH] Send less damage for manually redirected windows.
afcbbe2
Kristian Høgsberg d470a6c
Disable damage notifications on move for manually redirected windows.
Kristian Høgsberg d470a6c
The automatic compositor needs damage notification on move, but a
Kristian Høgsberg d470a6c
compositing manager doesn't.
Kristian Høgsberg d470a6c
afcbbe2
---
afcbbe2
--- a/composite/compwindow.c.spiffiffity	2006-03-29 12:51:53.000000000 -0500
afcbbe2
+++ b/composite/compwindow.c	2006-04-13 23:18:42.000000000 -0400
Kristian Høgsberg d470a6c
@@ -571,12 +571,15 @@
Kristian Høgsberg d470a6c
     }
Kristian Høgsberg d470a6c
     else
Kristian Høgsberg d470a6c
     {
Kristian Høgsberg d470a6c
+	CompWindowPtr	cw = GetCompWindow (pWin);
Kristian Høgsberg d470a6c
+
Kristian Høgsberg d470a6c
 	ptOldOrg.x -= dx;
Kristian Høgsberg d470a6c
 	ptOldOrg.y -= dy;
Kristian Høgsberg d470a6c
 	REGION_TRANSLATE (prgnSrc, prgnSrc,
Kristian Høgsberg d470a6c
 			  pWin->drawable.x - ptOldOrg.x,
Kristian Høgsberg d470a6c
 			  pWin->drawable.y - ptOldOrg.y);
Kristian Høgsberg d470a6c
-	DamageDamageRegion (&pWin->drawable, prgnSrc);
Kristian Høgsberg d470a6c
+	if (pWin->redirectDraw && cw->update == CompositeRedirectAutomatic)
Kristian Høgsberg d470a6c
+	  DamageDamageRegion (&pWin->drawable, prgnSrc);
Kristian Høgsberg d470a6c
     }
Kristian Høgsberg d470a6c
     cs->CopyWindow = pScreen->CopyWindow;
Kristian Høgsberg d470a6c
     pScreen->CopyWindow = compCopyWindow;
Kristian Høgsberg d470a6c
@@ -655,7 +658,8 @@
Kristian Høgsberg d470a6c
     /*
Kristian Høgsberg d470a6c
      * Report that as damaged so it will be redrawn
Kristian Høgsberg d470a6c
      */
Kristian Høgsberg d470a6c
-    DamageDamageRegion (&pWin->drawable, &damage);
Kristian Høgsberg d470a6c
+    if (cw->update == CompositeRedirectAutomatic)
Kristian Høgsberg d470a6c
+      DamageDamageRegion (&pWin->drawable, &damage);
Kristian Høgsberg d470a6c
     REGION_UNINIT (pScreen, &damage);
Kristian Høgsberg d470a6c
     /*
Kristian Høgsberg d470a6c
      * Save the new border clip region