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 +