diff options
Diffstat (limited to 'dix/window.c')
-rw-r--r-- | dix/window.c | 14 |
1 files changed, 11 insertions, 3 deletions
diff --git a/dix/window.c b/dix/window.c index 96002eb1f..be4ea2c97 100644 --- a/dix/window.c +++ b/dix/window.c @@ -298,7 +298,7 @@ SetWindowToDefaults(WindowPtr pWin) pWin->dontPropagate = 0; pWin->forcedBS = FALSE; #ifdef COMPOSITE - pWin->redirectDraw = 0; + pWin->redirectDraw = RedirectDrawNone; #endif } @@ -1687,10 +1687,14 @@ _X_EXPORT void SetWinSize (WindowPtr pWin) { #ifdef COMPOSITE - if (pWin->redirectDraw) + if (pWin->redirectDraw != RedirectDrawNone) { BoxRec box; + /* + * Redirected clients get clip list equal to their + * own geometry, not clipped to their parent + */ box.x1 = pWin->drawable.x; box.y1 = pWin->drawable.y; box.x2 = pWin->drawable.x + pWin->drawable.width; @@ -1730,10 +1734,14 @@ SetBorderSize (WindowPtr pWin) if (HasBorder (pWin)) { bw = wBorderWidth (pWin); #ifdef COMPOSITE - if (pWin->redirectDraw) + if (pWin->redirectDraw != RedirectDrawNone) { BoxRec box; + /* + * Redirected clients get clip list equal to their + * own geometry, not clipped to their parent + */ box.x1 = pWin->drawable.x - bw; box.y1 = pWin->drawable.y - bw; box.x2 = pWin->drawable.x + pWin->drawable.width + bw; |