042ccfb
From: Adam Jackson <ajax@redhat.com>
042ccfb
Date: Sun, 28 Oct 2007 09:37:52 +0100
042ccfb
Subject: [PATCH] Send less damage for manually redirected windows.
042ccfb
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
042ccfb
---
042ccfb
--- a/composite/compwindow.c.spiffiffity	2006-03-29 12:51:53.000000000 -0500
042ccfb
+++ 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