gfx/cairo/missing-cairo-clip-init.diff

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/gfx/cairo/missing-cairo-clip-init.diff	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,21 @@
     1.4 +diff --git a/gfx/cairo/cairo/src/cairo-gstate.c b/gfx/cairo/cairo/src/cairo-gstate.c
     1.5 +--- a/gfx/cairo/cairo/src/cairo-gstate.c
     1.6 ++++ b/gfx/cairo/cairo/src/cairo-gstate.c
     1.7 +@@ -1841,16 +1841,17 @@ _cairo_gstate_show_text_glyphs (cairo_gs
     1.8 + 							transformed_glyphs,
     1.9 + 							&num_glyphs,
    1.10 + 							transformed_clusters);
    1.11 + 
    1.12 +     if (status || num_glyphs == 0)
    1.13 + 	goto CLEANUP_GLYPHS;
    1.14 + 
    1.15 +     _cairo_gstate_copy_transformed_source (gstate, &source_pattern.base);
    1.16 ++    _cairo_clip_init(&clip);
    1.17 + 
    1.18 +     /* For really huge font sizes, we can just do path;fill instead of
    1.19 +      * show_glyphs, as show_glyphs would put excess pressure on the cache,
    1.20 +      * not all components below us correctly handle huge font sizes, and
    1.21 +      * path filling can be cheaper since parts of glyphs are likely to be
    1.22 +      * clipped out.  256 seems like a good limit.  But alas, seems like cairo's
    1.23 +      * rasterizer is something like ten times slower than freetype's for huge
    1.24 +      * sizes.  So, no win just yet when we're using cairo's rasterizer.

mercurial