Summary: | Endianess problem when running gtk programs over remote X | ||
---|---|---|---|
Product: | cairo | Reporter: | Sjoerd Simons <sjoerd> |
Component: | xlib backend | Assignee: | Carl Worth <cworth> |
Status: | RESOLVED FIXED | QA Contact: | cairo-bugs mailing list <cairo-bugs> |
Severity: | normal | ||
Priority: | high | ||
Version: | 1.0.0 | ||
Hardware: | Other | ||
OS: | Linux (All) | ||
Whiteboard: | |||
i915 platform: | i915 features: | ||
Attachments: |
Proposed patch
Second attempt |
Description
Sjoerd Simons
2005-08-31 08:32:42 UTC
Have a test setup now to reproduce this; it's pretty straightforward problem of doing XPutImage()/XGetImage() without regard to the endianess of the destination display. Created attachment 3140 [details] [review] Proposed patch This patch fixes the problem for me with gtk-demo and and makes 'make check' pass displaying remotely from a ppc64 system to x86. (the text tests are failing, which may be the same problem as bug 4274, but they fail uniformly for the xlib and image backends) Created attachment 3141 [details] [review] Second attempt Here's a new version that uses existing endian-detection code and deals with bitmap swapping as well. (Issues pointed out by keithp) This verison of the patch looks good to me; it still lacks "real" format conversion (from depth 16 to depth 15, for example), but at least when the server supports a pixman depth, things should work a lot better now. 2005-08-31 Owen Taylor <otaylor@redhat.com> * src/cairo-xlib-surface.c (_get_image_surface) (_draw_image_surface): Handle displays which don't match the local endianness by byteswapping on GetImage/PutImage. (#4321, reported by Sjoerd Simons) |
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.