| 1 |
Disable damage notifications on move for manually redirected windows.
|
| 2 |
The automatic compositor needs damage notification on move, but a
|
| 3 |
compositing manager doesn't.
|
| 4 |
|
| 5 |
--- ./composite/compwindow.c.spiffiffity 2006-03-29 12:51:53.000000000 -0500
|
| 6 |
+++ ./composite/compwindow.c 2006-04-13 23:18:42.000000000 -0400
|
| 7 |
@@ -571,12 +571,15 @@
|
| 8 |
}
|
| 9 |
else
|
| 10 |
{
|
| 11 |
+ CompWindowPtr cw = GetCompWindow (pWin);
|
| 12 |
+
|
| 13 |
ptOldOrg.x -= dx;
|
| 14 |
ptOldOrg.y -= dy;
|
| 15 |
REGION_TRANSLATE (prgnSrc, prgnSrc,
|
| 16 |
pWin->drawable.x - ptOldOrg.x,
|
| 17 |
pWin->drawable.y - ptOldOrg.y);
|
| 18 |
- DamageDamageRegion (&pWin->drawable, prgnSrc);
|
| 19 |
+ if (pWin->redirectDraw && cw->update == CompositeRedirectAutomatic)
|
| 20 |
+ DamageDamageRegion (&pWin->drawable, prgnSrc);
|
| 21 |
}
|
| 22 |
cs->CopyWindow = pScreen->CopyWindow;
|
| 23 |
pScreen->CopyWindow = compCopyWindow;
|
| 24 |
@@ -655,7 +658,8 @@
|
| 25 |
/*
|
| 26 |
* Report that as damaged so it will be redrawn
|
| 27 |
*/
|
| 28 |
- DamageDamageRegion (&pWin->drawable, &damage);
|
| 29 |
+ if (cw->update == CompositeRedirectAutomatic)
|
| 30 |
+ DamageDamageRegion (&pWin->drawable, &damage);
|
| 31 |
REGION_UNINIT (pScreen, &damage);
|
| 32 |
/*
|
| 33 |
* Save the new border clip region
|