summaryrefslogtreecommitdiff
path: root/dix/window.c
diff options
context:
space:
mode:
authorEamon Walsh <ewalsh@tycho.nsa.gov>2007-08-02 14:27:03 -0400
committerEamon Walsh <ewalsh@moss-charon.epoch.ncsc.mil>2007-08-02 14:27:03 -0400
commite34fcd2bf42dbd72ab6ce2df80f2dcaa13416e74 (patch)
treec9639b11acb0ff6c90d774574b0392d81320e84e /dix/window.c
parent32c0dcc8c0d1edba5d7e418fd2dc916847a4f069 (diff)
parentf3955c0a020b39021050cd33c20a17f14fc4b579 (diff)
Merge branch 'master' into XACE-SELINUX
Conflicts: dix/devices.c dix/property.c include/dix.h
Diffstat (limited to 'dix/window.c')
-rw-r--r--dix/window.c14
1 files changed, 11 insertions, 3 deletions
diff --git a/dix/window.c b/dix/window.c
index 95b7b168c..2f151b09c 100644
--- a/dix/window.c
+++ b/dix/window.c
@@ -299,7 +299,7 @@ SetWindowToDefaults(WindowPtr pWin)
pWin->dontPropagate = 0;
pWin->forcedBS = FALSE;
#ifdef COMPOSITE
- pWin->redirectDraw = 0;
+ pWin->redirectDraw = RedirectDrawNone;
#endif
}
@@ -1693,10 +1693,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;
@@ -1736,10 +1740,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;