diff --git a/packages/x11/xserver/xorg-server/patches/110_fedora_no_move_damage.diff b/packages/x11/xserver/xorg-server/patches/110_fedora_no_move_damage.diff new file mode 100644 index 0000000000..a1d676677a --- /dev/null +++ b/packages/x11/xserver/xorg-server/patches/110_fedora_no_move_damage.diff @@ -0,0 +1,35 @@ +Disable damage notifications on move for manually redirected windows. +The automatic compositor needs damage notification on move, but a +compositing manager doesn't. + +Index: xorg-server/composite/compwindow.c +=================================================================== +--- xorg-server.orig/composite/compwindow.c 2008-06-18 10:28:16.000000000 +0300 ++++ xorg-server/composite/compwindow.c 2008-06-18 12:06:20.000000000 +0300 +@@ -580,12 +580,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); +- DamageRegionAppend(&pWin->drawable, prgnSrc); ++ if (pWin->redirectDraw && cw->update == CompositeRedirectAutomatic) ++ DamageRegionAppend(&pWin->drawable, prgnSrc); + } + cs->CopyWindow = pScreen->CopyWindow; + pScreen->CopyWindow = compCopyWindow; +@@ -664,7 +667,8 @@ + /* + * Report that as damaged so it will be redrawn + */ +- DamageRegionAppend(&pWin->drawable, &damage); ++ if (cw->update == CompositeRedirectAutomatic) ++ DamageRegionAppend(&pWin->drawable, &damage); + REGION_UNINIT (pScreen, &damage); + /* + * Save the new border clip region