gfx/cairo/ignore-rank0.patch

changeset 0
6474c204b198
     1.1 --- /dev/null	Thu Jan 01 00:00:00 1970 +0000
     1.2 +++ b/gfx/cairo/ignore-rank0.patch	Wed Dec 31 06:09:35 2014 +0100
     1.3 @@ -0,0 +1,20 @@
     1.4 +diff --git a/gfx/cairo/cairo/src/cairo-gstate.c b/gfx/cairo/cairo/src/cairo-gstate.c
     1.5 +index 0439bcf..32a5c4b 100644
     1.6 +--- a/gfx/cairo/cairo/src/cairo-gstate.c
     1.7 ++++ b/gfx/cairo/cairo/src/cairo-gstate.c
     1.8 +@@ -1271,8 +1271,13 @@ _cairo_gstate_set_font_matrix (cairo_gstate_t	    *gstate,
     1.9 +     if (memcmp (matrix, &gstate->font_matrix, sizeof (cairo_matrix_t)) == 0)
    1.10 + 	return CAIRO_STATUS_SUCCESS;
    1.11 + 
    1.12 +-    if (! _cairo_matrix_is_invertible (matrix))
    1.13 +-	return _cairo_error (CAIRO_STATUS_INVALID_MATRIX);
    1.14 ++    if (! _cairo_matrix_is_invertible (matrix)) {
    1.15 ++	/* rank 0 matrices are ok even though they are not invertible */
    1.16 ++	if (!(matrix->xx == 0. && matrix->xy == 0. &&
    1.17 ++	      matrix->yx == 0. && matrix->yy == 0.)) {
    1.18 ++	    return _cairo_error (CAIRO_STATUS_INVALID_MATRIX);
    1.19 ++	}
    1.20 ++    }
    1.21 + 
    1.22 +     _cairo_gstate_unset_scaled_font (gstate);
    1.23 + 

mercurial