Bug 15347

Summary: DamageSubtract request is a no-op for reporting level RawRectangles
Product: xorg Reporter: Keith Kriewall <keith.kriewall>
Component: Server/GeneralAssignee: Xorg Project Team <xorg-team>
Status: NEW --- QA Contact: Xorg Project Team <xorg-team>
Severity: minor    
Priority: low    
Version: 7.3 (2007.09)   
Hardware: Other   
OS: All   
Whiteboard:
i915 platform: i915 features:

Description Keith Kriewall 2008-04-03 14:01:51 UTC
The Damage extension version 1.1 specification states that a partial "repair" of a damaged area results in DamageNotify event(s) for remaining damage areas.  However, when the reporting level on the DAMAGE object is RawRectangles, no such events ever occur.  A code inspection of damageext.c : ProcDamageSubtract() shows that the request is entirely bypassed for this reporting level.  A test client also confirms this behavior.

Please correct either the code or the extension documentation so that they agree.

Note that DamageSubtract is the only way to clear damaged areas, short of destructing the DAMAGE object.  Bypassing this ability compromises the usefulness of RawRectangles reporting.