gfx/cairo/ignore-rank0.patch
author Masayuki Nakano <masayuki@d-toybox.com>
Thu, 31 Mar 2016 18:44:01 +0900
changeset 291201 e8b552fe0c258246b47b924834baf8ff4fe422cb
parent 24710 db5bba11c8a4f718bcf70d73ec4009315f7139fe
permissions -rw-r--r--
Bug 1259664 part.5 Rename WidgetWheelEvent::customizedByUserPrefs to WidgetWheelEvent::mCustomizedByUserPrefs r=smaug MozReview-Commit-ID: 9GksNZRtmmb

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);