Re: cairo release 1.12.4 now available

[email protected] (Søren Sandmann)
Newsgroups gmane.comp.lib.cairo
Message-ID <[email protected]>
Chris Wilson <[email protected]> writes:

> On Fri, 05 Oct 2012 19:42:26 +0200, [email protected] (=?utf-8?Q?S=C3=B8ren?= Sandmann) wrote:
>> Chris Wilson <[email protected]> writes:
>> 
>> > A new cairo release 1.12.4 is now available from:
>> >
>> > 	http://cairographics.org/releases/cairo-1.12.4.tar.xz
>> >
>> >     which can be verified with:
>> >
>> > 	http://cairographics.org/releases/cairo-1.12.4.tar.xz.sha1
>> > 	f4158981ed01e73c94fb8072074b17feee61a68b  cairo-1.12.4.tar.xz
>> >
>> > 	http://cairographics.org/releases/cairo-1.12.4.tar.xz.sha1.asc
>> > 	(signed by Chris Wilson)
>> 
>> This release crashes on all X servers prior to this commit:
>> 
>>     commit 2d2dce558d24eeea0eb011ec9ebaa6c5c2273c39
>>     Author: Sam Spilsbury <[email protected]>
>>     Date:   Wed Sep 14 09:58:34 2011 +0800
>> 
>>         Remove the SendEvent bit (0x80) before doing range checks on event type.
>>     
>>         Some extension libraries may set this bit before converting the event to
>>         wire protocol and as such range checking the event will cause an invalid
>>         BadValue error to result. As the documentation suggests the the bit
>>         should be "forced on", remove it before doing range checks and continue
>>         to force it on in the server.
>>     
>>         Reviewed-by: Jamey Sharp <[email protected]>
>>         Signed-off-by: Peter Hutterer <[email protected]>
>> 
>> due to the XSendEvent() in _cairo_xlib_shm_surface_mark_active().
>
> Hmm, that looks like a nasty unavoidable bug in xorg-1.11 and earlier.
> As XSendEvent is only used with ShmPixmaps we should be able to disable
> that path easily enough.

One note about the fix you just pushed: The XSendEvent() function in
xlib is virtualized such that each extension gets to do its own
processing. Some extensions, including shm, take this opportunity to set
the 0x80 bit, which is what's causing the issue. But it's not a bug in
XSendEvent() in general, so the code as it stands is a bit misleading.


Soren


-- 
cairo mailing list
[email protected]
http://lists.cairographics.org/mailman/listinfo/cairo
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.