Shape extension and xcompmgr

Eeri Kask Eeri.Kask at inf.tu-dresden.de
Sat Aug 16 12:51:59 PDT 2008


Hello guys,

Being somewhat stuck with the small program attached I manage to produce 
defected X server painting (screenshot included as well) if xcompmgr is 
running in the background so I wanted here to verify if this is a 
generally known issue (I tested the following on pentium-4 and sparc-64 
with different/unrelated graphics hardware/drivers).

In short, this small program creates a shape-extension based transparent 
window one can look through; but as this window is resized (esp. making 
smaller) there remain visible painting defects on the screen. I can 
verify this phenomenon running several window managers (each one I 
tested); further, this behaviour can be demonstrated most easily if the 
resizing is setup in 'outline' (and not in 'opaque') mode.  In opaque 
mode this effect is not that apparent at the first glance.

To my present experimental findings it seems the X server is missing one 
window configure request in order to do the painting correctly, so if 
after resizing one somehow causes the window manager to issue and send 
one final configure request to the server, these painting defects don't 
appear.  In opqaue mode if looking very closely one can detect the last 
painting is missing so the right/bottom edge usually is falsely shifted 
about one pixel (and it is generally harder to observe as the server 
usually receives a configure request for each mouse motion event).


The attached program has a snippet '#if 0' at the end: in the '0' 
variant I get the defects on the left half of the screenshot (which 
shows xcompmgr shadow window remainings very clearly), in the '1' mode 
(which generates the missing dummy configuration request) the window is 
painted without defects but the uncovered root window does not get 
cleaned up.


Without xcompmgr there are no issues with this small program.


I am running X server which reports

     XServerVendor(): 'The X.Org Foundation'
     XVendorRelease(): 10300000

and then

     Shape extension version 1.1
     Render extension version 0.10
     Composite extension version 0.4
     Damage extension version 1.1
     Fixes extension version 4.0


(The best I hope is my understanding of the usage of the shape extension 
appears to be not correct and the program has a bug.)  :-)


Greetings,

     Eeri Kask
-------------- next part --------------
A non-text attachment was scrubbed...
Name: shape-defects.png
Type: image/png
Size: 146300 bytes
Desc: not available
URL: <http://lists.x.org/archives/xorg/attachments/20080816/2e401876/attachment.png>
-------------- next part --------------
An embedded and charset-unspecified text was scrubbed...
Name: window.c
URL: <http://lists.x.org/archives/xorg/attachments/20080816/2e401876/attachment.c>


More information about the xorg mailing list