Bug 5890

Summary: Novell Patch To Fix 16bit Color Depth On Citrix Xserver
Product: cairo Reporter: Dave Richards <drichard>
Component: generalAssignee: Carl Worth <cworth>
Status: RESOLVED FIXED QA Contact: cairo-bugs mailing list <cairo-bugs>
Severity: normal    
Priority: high CC: bogdanni
Version: 1.0.2   
Hardware: x86 (IA32)   
OS: Linux (All)   
Whiteboard:
i915 platform: i915 features:

Description Dave Richards 2006-02-15 05:10:42 UTC
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;
Comment 1 Bogdan Nicula 2006-04-05 20:17:22 UTC
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.

Comment 2 Bogdan Nicula 2006-04-06 05:19:32 UTC
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
Comment 3 Chris Wilson 2008-09-29 03:29:16 UTC
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.