diff --git a/miext/rootless/rootlessScreen.c b/miext/rootless/rootlessScreen.c index 79fe3507b..ca7c3e311 100644 --- a/miext/rootless/rootlessScreen.c +++ b/miext/rootless/rootlessScreen.c @@ -297,8 +297,8 @@ RootlessGlyphs(CARD8 op, PicturePtr pSrc, PicturePtr pDst, //SCREEN_WRAP(ps, Glyphs); if (dstWin && IsFramedWindow(dstWin)) { - x = xSrc; - y = ySrc; + x = 0; + y = 0; while (nlist--) { x += list->xOff; @@ -341,6 +341,11 @@ RootlessGlyphs(CARD8 op, PicturePtr pSrc, PicturePtr pDst, y += glyph->info.yOff; } + /* RootlessDamageBox expects global (screen) coordinates */ + box.x1 += dstWin->drawable.x; + box.y1 += dstWin->drawable.y; + box.x2 += dstWin->drawable.x; + box.y2 += dstWin->drawable.y; RootlessDamageBox(dstWin, &box); } list++;