From dca69f73e3a11d397a701f82331d5aaa7194bd7f Mon Sep 17 00:00:00 2001 From: Carl Worth Date: Tue, 10 Apr 2007 17:16:39 -0700 Subject: [PATCH] Check (and assert) return values of cairo_matrix_invert Now that we have matrix validation at the time of _cairo_scaled_font_init we know that it is safe to invert this matrix. --- src/cairo-pdf-surface.c | 5 ++++- src/cairo-ps-surface.c | 5 ++++- 2 files changed, 8 insertions(+), 2 deletions(-) diff --git a/src/cairo-pdf-surface.c b/src/cairo-pdf-surface.c index ddb1bcef3..069fed0dc 100644 --- a/src/cairo-pdf-surface.c +++ b/src/cairo-pdf-surface.c @@ -2285,6 +2285,7 @@ static cairo_status_t _cairo_pdf_surface_emit_type3_font_subset (cairo_pdf_surface_t *surface, cairo_scaled_font_subset_t *font_subset) { + cairo_status_t status; cairo_pdf_resource_t *glyphs, encoding, char_procs, subset_resource, to_unicode_stream; cairo_pdf_font_t font; cairo_matrix_t matrix; @@ -2361,7 +2362,9 @@ _cairo_pdf_surface_emit_type3_font_subset (cairo_pdf_surface_t *surface, subset_resource = _cairo_pdf_surface_new_object (surface); matrix = font_subset->scaled_font->scale; - cairo_matrix_invert (&matrix); + status = cairo_matrix_invert (&matrix); + /* _cairo_scaled_font_init ensures the matrix is invertible */ + assert (status == CAIRO_STATUS_SUCCESS); _cairo_output_stream_printf (surface->output, "%d 0 obj\r\n" "<< /Type /Font\r\n" diff --git a/src/cairo-ps-surface.c b/src/cairo-ps-surface.c index 026099649..76d8f450b 100644 --- a/src/cairo-ps-surface.c +++ b/src/cairo-ps-surface.c @@ -668,6 +668,7 @@ _cairo_ps_surface_emit_type3_font_subset (cairo_ps_surface_t *surface, { + cairo_status_t status; cairo_matrix_t matrix; unsigned int i; @@ -680,7 +681,9 @@ _cairo_ps_surface_emit_type3_font_subset (cairo_ps_surface_t *surface, font_subset->subset_id); matrix = font_subset->scaled_font->scale; - cairo_matrix_invert (&matrix); + status = cairo_matrix_invert (&matrix); + /* _cairo_scaled_font_init ensures the matrix is invertible */ + assert (status == CAIRO_STATUS_SUCCESS); _cairo_output_stream_printf (surface->final_stream, "\t/FontType\t3\n" "\t/FontMatrix\t[%f %f %f %f 0 0]\n"