diff options
author | Keith Packard <keithp@keithp.com> | 2008-05-04 21:51:08 -0700 |
---|---|---|
committer | Keith Packard <keithp@keithp.com> | 2008-05-04 21:54:22 -0700 |
commit | 6c1accce87c9bd640c1b4bbc49bae7d44b1cc97b (patch) | |
tree | 8fbd276607781e30173b34ef8de350c8e69ed5fe | |
parent | d500eeb9458336780d77baf8b7db96e1f7ff4f0d (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.c | 4 |
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 |