summaryrefslogtreecommitdiff
blob: 4278043ba262c63fb44838ad658c38be0ec6d375 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
Disable damage notifications on move for manually redirected windows.
The automatic compositor needs damage notification on move, but a
compositing manager doesn't.

--- ./composite/compwindow.c.spiffiffity	2006-03-29 12:51:53.000000000 -0500
+++ ./composite/compwindow.c	2006-04-13 23:18:42.000000000 -0400
@@ -571,12 +571,15 @@
     }
     else
     {
+	CompWindowPtr	cw = GetCompWindow (pWin);
+
 	ptOldOrg.x -= dx;
 	ptOldOrg.y -= dy;
 	REGION_TRANSLATE (prgnSrc, prgnSrc,
 			  pWin->drawable.x - ptOldOrg.x,
 			  pWin->drawable.y - ptOldOrg.y);
-	DamageDamageRegion (&pWin->drawable, prgnSrc);
+	if (pWin->redirectDraw && cw->update == CompositeRedirectAutomatic)
+	  DamageDamageRegion (&pWin->drawable, prgnSrc);
     }
     cs->CopyWindow = pScreen->CopyWindow;
     pScreen->CopyWindow = compCopyWindow;
@@ -655,7 +658,8 @@
     /*
      * Report that as damaged so it will be redrawn
      */
-    DamageDamageRegion (&pWin->drawable, &damage);
+    if (cw->update == CompositeRedirectAutomatic)
+      DamageDamageRegion (&pWin->drawable, &damage);
     REGION_UNINIT (pScreen, &damage);
     /*
      * Save the new border clip region