2006-06-06 Arnaud Charlet * src/cairo-win32-surface.c (cairo_win32_surface_create): Handle 16 bits display as RGB24 instead of crashing. Submitted at https://bugs.freedesktop.org/show_bug.cgi?id=7126 Present in cairo 1.1.6 Also disable this code, since it is causing off by one pixel to be displayed. See F608-002. 2006-02-27 Arnaud Charlet * src/cairoint.h, pixman/src/slim_internal.h: Fix build failure on Solaris with GCC 3.x 2006-02-22 Arnaud Charlet * pixman/src/pixman.h: Fix build failures on ia64/pa hpux and tru64 Submitted at https://bugs.freedesktop.org/show_bug.cgi?id=6016 --- pixman/src/pixman.h.orig Mon Feb 27 11:08:33 2006 +++ pixman/src/pixman.h Mon Feb 27 11:08:11 2006 @@ -94,6 +94,10 @@ SOFTWARE. typedef unsigned __int32 uint32_t; typedef __int64 int64_t; typedef unsigned __int64 uint64_t; +#elif defined (__hpux__) +#include +#elif defined (__osf__) +#include #else # include #endif --- src/cairoint.h.old Mon Feb 27 14:27:41 2006 +++ src/cairoint.h Mon Feb 27 14:45:52 2006 @@ -94,7 +94,7 @@ #endif /* slim_internal.h */ -#if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) && defined(__ELF__) +#if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) && defined(__ELF__) && !defined (sun) #define cairo_private __attribute__((__visibility__("hidden"))) #else #define cairo_private --- pixman/src/slim_internal.h.old Mon Feb 27 14:29:28 2006 +++ pixman/src/slim_internal.h Mon Feb 27 14:46:26 2006 @@ -47,7 +47,7 @@ /* ??? Not marked with "slim" because that makes it look too much like the function name instead of just an attribute. */ -#if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) && defined(__ELF__) +#if (__GNUC__ > 3 || (__GNUC__ == 3 && __GNUC_MINOR__ >= 3)) && defined(__ELF__) && !defined (sun) #define pixman_private __attribute__((__visibility__("hidden"))) #else #define pixman_private --- src/cairo-win32-surface.c.old 2006-03-15 17:53:43.000000000 +0100 +++ src/cairo-win32-surface.c 2006-06-06 09:46:52.312500000 +0200 @@ -1003,7 +1003,7 @@ cairo_win32_surface_create (HDC hdc) depth = GetDeviceCaps(hdc, BITSPIXEL); if (depth == 32) format = CAIRO_FORMAT_ARGB32; - else if (depth == 24) + else if (depth == 24 || depth == 16) format = CAIRO_FORMAT_RGB24; else if (depth == 8) format = CAIRO_FORMAT_A8; @@ -1025,7 +1025,7 @@ cairo_win32_surface_create (HDC hdc) } surface->image = NULL; - surface->format = format; + surface->format = CAIRO_FORMAT_RGB24; surface->dc = hdc; surface->bitmap = NULL;