From ca5f868a73b35eda737ae6596efff91f82eeea75 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Fri, 17 Oct 2008 15:26:20 +0100 Subject: [PATCH] [scaled-font] Zero font extents for an error surface. Do not attempt to read from the error object, but just return zero extents. --- src/cairo-scaled-font.c | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/cairo-scaled-font.c b/src/cairo-scaled-font.c index fcea8aa9e..661d85e83 100644 --- a/src/cairo-scaled-font.c +++ b/src/cairo-scaled-font.c @@ -1127,6 +1127,15 @@ void cairo_scaled_font_extents (cairo_scaled_font_t *scaled_font, cairo_font_extents_t *extents) { + if (scaled_font->status) { + extents->ascent = 0.0; + extents->descent = 0.0; + extents->height = 0.0; + extents->max_x_advance = 0.0; + extents->max_y_advance = 0.0; + return; + } + *extents = scaled_font->extents; } slim_hidden_def (cairo_scaled_font_extents); @@ -1174,8 +1183,10 @@ cairo_scaled_font_text_extents (cairo_scaled_font_t *scaled_font, &glyphs, &num_glyphs, NULL, NULL, NULL); - if (status) + if (status) { + status = _cairo_scaled_font_set_error (scaled_font, status); goto ZERO_EXTENTS; + } cairo_scaled_font_glyph_extents (scaled_font, glyphs, num_glyphs, extents); free (glyphs);