Cairo currently uses the Vendor String to determine a workaround necessary for
bug #3566, a work around that does not work in Gentoo. As commented on in
http://bugzilla.gnome.org/show_bug.cgi?id=306216. However if you look at this it
is incorrect to do this. The Vendor string is a property that's modifiable by
the end user/distro/packager so the proper value should be the Xorg version
value. Which will remain constant and contain the exact version of the Xorg server.
It seems a little odd to be trying a version number out of a string when there's
already at least two places where you can get just the number, in different forms:
For example, xdpyinfo output includes:
vendor release number: 60899015
X.Org version: 22.214.171.124
We don't get the version number out of the vendor string. We use the
vendor string to *INTERPRET* the vendor release number.
vendor release number: 60899007
Or whatever means *nothing* unless you know what vendor it is; compare
the check for XFree86 version.
This bug cannot be detected with a run-time test; whether
it occurs depends on whether a pixmap is allocated into video
ram or system ram, which isn't controllable.
We'll take a patch so that the Gentoo modified vendor string
gets recognized (I think they just prepend something), but that's
all we can do.
Created attachment 2868 [details] [review]
Proposed patch for cairo-0.9.2 dealing with vendor string change
I originally reported this bug. My original comments are missing as am I missing
as the reporter...
That patch is exactly what I was thinking, if we needed to use the vendor string.
2005-08-21 Owen Taylor <firstname.lastname@example.org>
* src/cairo-xlib-surface.c (_cairo_xlib_surface_create_internal):
Recognize gentoo's (and maybe other distro's) modified
server vendor string, where extra text is added to the
upstream value. (#4068, reported by Doug Goldstein, others.
Patch from Mart Raudsepp)
Thanks much, Owen!
Move bugs against "cvs" version to "0.9.3" so we can remove the "cvs" version.