diff --git a/src/cairo-pdf-surface.c b/src/cairo-pdf-surface.c index 069fed0dc..5e2e1bd62 100644 --- a/src/cairo-pdf-surface.c +++ b/src/cairo-pdf-surface.c @@ -983,7 +983,9 @@ _cairo_pdf_surface_emit_surface_pattern (cairo_pdf_surface_t *surface, * pattern cell. */ cairo_p2d = pattern->base.matrix; - cairo_matrix_invert (&cairo_p2d); + status = cairo_matrix_invert (&cairo_p2d); + /* cairo_pattern_set_matrix ensures the matrix is invertible */ + assert (status == CAIRO_STATUS_SUCCESS); cairo_matrix_init_identity (&pdf_p2d); cairo_matrix_translate (&pdf_p2d, 0.0, surface_extents.height); diff --git a/src/cairo-ps-surface.c b/src/cairo-ps-surface.c index 76d8f450b..6a917f2e0 100644 --- a/src/cairo-ps-surface.c +++ b/src/cairo-ps-surface.c @@ -1726,11 +1726,14 @@ static void _cairo_ps_surface_emit_surface_pattern (cairo_ps_surface_t *surface, cairo_surface_pattern_t *pattern) { + cairo_status_t status; double bbox_width, bbox_height; double xstep, ystep; cairo_matrix_t inverse = pattern->base.matrix; - cairo_matrix_invert (&inverse); + status = cairo_matrix_invert (&inverse); + /* cairo_pattern_set_matrix ensures the matrix is invertible */ + assert (status == CAIRO_STATUS_SUCCESS); if (_cairo_surface_is_meta (pattern->surface)) { _cairo_output_stream_printf (surface->stream, "/MyPattern {\n");