7222836
From c7e37fc93d9efa010f60be260f741539600db597 Mon Sep 17 00:00:00 2001
afcbbe2
From: Adam Jackson <ajax@redhat.com>
7222836
Date: Fri, 19 Dec 2008 13:42:52 +1000
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
7222836
Forward-ported to 1.6 by whot.
afcbbe2
---
7222836
 composite/compwindow.c |    8 ++++++--
7222836
 1 files changed, 6 insertions(+), 2 deletions(-)
7222836
7222836
diff --git a/composite/compwindow.c b/composite/compwindow.c
7222836
index 577fa73..f838a24 100644
7222836
--- a/composite/compwindow.c
7222836
+++ b/composite/compwindow.c
7222836
@@ -580,12 +580,15 @@ compCopyWindow (WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr prgnSrc)
Kristian Høgsberg d470a6c
     }
Kristian Høgsberg d470a6c
     else
Kristian Høgsberg d470a6c
     {
7222836
+	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);
7222836
-	DamageRegionAppend(&pWin->drawable, prgnSrc);
Kristian Høgsberg d470a6c
+	if (pWin->redirectDraw && cw->update == CompositeRedirectAutomatic)
7222836
+	    DamageRegionAppend(&pWin->drawable, prgnSrc);
Kristian Høgsberg d470a6c
     }
Kristian Høgsberg d470a6c
     cs->CopyWindow = pScreen->CopyWindow;
Kristian Høgsberg d470a6c
     pScreen->CopyWindow = compCopyWindow;
7222836
@@ -664,7 +667,8 @@ compSetRedirectBorderClip (WindowPtr pWin, RegionPtr pRegion)
Kristian Høgsberg d470a6c
     /*
Kristian Høgsberg d470a6c
      * Report that as damaged so it will be redrawn
Kristian Høgsberg d470a6c
      */
7222836
-    DamageRegionAppend(&pWin->drawable, &damage);
7222836
+    if (pWin->redirectDraw && cw->update == CompositeRedirectAutomatic)
7222836
+	DamageRegionAppend(&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
7222836
-- 
7222836
1.6.0.4
7222836