gfx/cairo/handle-a1.patch

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/gfx/cairo/handle-a1.patch	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,25 @@
     1.4 +commit 82aab44a9005047743538d52e9fbc27fd6ce408a
     1.5 +Author: Chris Wilson <chris@chris-wilson.co.uk>
     1.6 +Date:   Fri Mar 19 17:23:20 2010 -0400
     1.7 +
     1.8 +    commit f07195860620959c27d43080a7b987e28222735a
     1.9 +    
    1.10 +        xlib: Handle a1 image uploads through converter
    1.11 +    
    1.12 +        Fixes test/large-source [xlib]
    1.13 +
    1.14 +diff --git a/src/cairo-xlib-surface.c b/src/cairo-xlib-surface.c
    1.15 +index 1a053d0..8f773b0 100644
    1.16 +--- a/src/cairo-xlib-surface.c
    1.17 ++++ b/src/cairo-xlib-surface.c
    1.18 +@@ -1155,7 +1155,9 @@ _draw_image_surface (cairo_xlib_surface_t   *surface,
    1.19 + 		int dither_adjustment = dither_row[x_off];
    1.20 + 		int a, r, g, b;
    1.21 + 
    1.22 +-		if (image_masks.bpp <= 8)
    1.23 ++		if (image_masks.bpp == 1)
    1.24 ++		    in_pixel = !! (((uint8_t*)row)[x/8] & (1 << (x & 7)));
    1.25 ++		else if (image_masks.bpp <= 8)
    1.26 + 		    in_pixel = ((uint8_t*)row)[x];
    1.27 + 		else if (image_masks.bpp <= 16)
    1.28 + 		    in_pixel = ((uint16_t*)row)[x];

mercurial