mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-10-31 22:25:30 +00:00
21 lines
826 B
Diff
21 lines
826 B
Diff
diff --git a/gfx/cairo/cairo/src/cairo-gstate.c b/gfx/cairo/cairo/src/cairo-gstate.c
|
|
index 0439bcf..32a5c4b 100644
|
|
--- a/gfx/cairo/cairo/src/cairo-gstate.c
|
|
+++ b/gfx/cairo/cairo/src/cairo-gstate.c
|
|
@@ -1271,8 +1271,13 @@ _cairo_gstate_set_font_matrix (cairo_gstate_t *gstate,
|
|
if (memcmp (matrix, &gstate->font_matrix, sizeof (cairo_matrix_t)) == 0)
|
|
return CAIRO_STATUS_SUCCESS;
|
|
|
|
- if (! _cairo_matrix_is_invertible (matrix))
|
|
- return _cairo_error (CAIRO_STATUS_INVALID_MATRIX);
|
|
+ if (! _cairo_matrix_is_invertible (matrix)) {
|
|
+ /* rank 0 matrices are ok even though they are not invertible */
|
|
+ if (!(matrix->xx == 0. && matrix->xy == 0. &&
|
|
+ matrix->yx == 0. && matrix->yy == 0.)) {
|
|
+ return _cairo_error (CAIRO_STATUS_INVALID_MATRIX);
|
|
+ }
|
|
+ }
|
|
|
|
_cairo_gstate_unset_scaled_font (gstate);
|
|
|