diff options
Diffstat (limited to 'hardened/xorg/x11-base/xorg-server/files/01-no-move-damage.patch')
-rw-r--r-- | hardened/xorg/x11-base/xorg-server/files/01-no-move-damage.patch | 33 |
1 files changed, 33 insertions, 0 deletions
diff --git a/hardened/xorg/x11-base/xorg-server/files/01-no-move-damage.patch b/hardened/xorg/x11-base/xorg-server/files/01-no-move-damage.patch new file mode 100644 index 0000000..4278043 --- /dev/null +++ b/hardened/xorg/x11-base/xorg-server/files/01-no-move-damage.patch @@ -0,0 +1,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 |