summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
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.patch33
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