Bug 15823

Summary: Mixed redirected/unredirected windows corrupt clip lists
Product: xorg Reporter: Owen Taylor <otaylor>
Component: Server/GeneralAssignee: Xorg Project Team <xorg-team>
Status: RESOLVED FIXED QA Contact: Xorg Project Team <xorg-team>
Severity: normal    
Priority: medium    
Version: unspecified   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:
Bug Depends on:    
Bug Blocks: 10101    

Description Owen Taylor 2008-05-04 21:34:55 UTC
Originally reported as:

 https://bugzilla.redhat.com/show_bug.cgi?id=441219

If you have a set of redirected windows (that don't clip the
parent window), and then map a window above them that isn't
redirected, such as the composite overlay window, the border
clip for the redirected windows becomes invalid due to a logic
error in miValidateTree, and this spreads eventually to the 
parent window as well.

The symptom is then then that drawing on the parent window
isn't clipped by the non-redirected window, causing various
types of visual corruption and artifacts.
Comment 1 Owen Taylor 2008-05-05 05:35:43 UTC
commit 6c1accce87c9bd640c1b4bbc49bae7d44b1cc97b
Author: Keith Packard <keithp@keithp.com>
Date:   Sun May 4 21:51:08 2008 -0700

    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.
Comment 2 Adam Jackson 2008-05-06 10:04:24 UTC
Cherry-picked to 1.5 branch.  Thanks!

Use of freedesktop.org services, including Bugzilla, is subject to our Code of Conduct. How we collect and use information is described in our Privacy Policy.