I hope not to be doing the wrong thing, but I wanted to make sure this patch was put into Cairo. Version 1.0.2 crashed all GTK applications using the Xserver that runs in Citrix Metaframe For Unix in 16bit color depth. Novell logged in using that Xserver and found the issue and created a patch. Libraries here were updated and it's working on ur test server. I want to make sure that it gets into the main build, close if it already has. +++ ./src/cairo-xlib-surface.c 2006-01-19 14:55:25.000000000 -0500 @@ -675,7 +675,7 @@ ximage.bitmap_unit = 32; /* always for libpixman */ ximage.bitmap_bit_order = native_byte_order; ximage.bitmap_pad = 32; /* always for libpixman */ - ximage.depth = image->depth; + ximage.depth = surface->depth; ximage.bytes_per_line = image->stride; ximage.bits_per_pixel = bpp; ximage.red_mask = red;
I think I also saw this on a VNC server. See first valgrind trace in comment #1 and comment #3 of http://bugzilla.gnome.org/show_bug.cgi?id=321560.
Your "fix" is only a workaround (indeed, the depth of ZPixmap images must match the depth of the drawable), the correct way to proceed is find out why image->depth is uninitialized/wrong. Apparently this an endemic problem on X servers without Render, see yet another example at: https://bugs.freedesktop.org/show_bug.cgi?id=5846
Hmm, not sure why I didn't close this with the mass-closure with the release of 1.6... Presumably because of the "endemic nature with non-Xrender" suggested that it required separate testing. So I've double-checked that we correctly handle a 16bit xserver (testing using Xvfb) and consider this bug fixed.
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.