summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKeith Packard <keithp@keithp.com>2008-05-04 21:51:08 -0700
committerKeith Packard <keithp@keithp.com>2008-05-04 21:54:22 -0700
commit6c1accce87c9bd640c1b4bbc49bae7d44b1cc97b (patch)
tree8fbd276607781e30173b34ef8de350c8e69ed5fe
parentd500eeb9458336780d77baf8b7db96e1f7ff4f0d (diff)
Empty the borderClip of manual redirect windows. (bug 15823)
Thanks to Owen Taylor for root-causing this one. If a TreatAsTransparent window has any area in the borderClip, that will be added to the totalClip region for use by other windows. That's wrong. Instead, simply empty the borderClip for TreatAsTransparent windows right up front.
-rw-r--r--mi/mivaltree.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/mi/mivaltree.c b/mi/mivaltree.c
index 74483e354..d9d07caad 100644
--- a/mi/mivaltree.c
+++ b/mi/mivaltree.c
@@ -255,7 +255,11 @@ miComputeClips (
if (pParent->redirectDraw != RedirectDrawNone)
{
if (miSetRedirectBorderClipProc)
+ {
+ if (TreatAsTransparent (pParent))
+ REGION_EMPTY (pScreen, universe);
(*miSetRedirectBorderClipProc) (pParent, universe);
+ }
REGION_COPY(pScreen, universe, &pParent->borderSize);
}
#endif