diff --git a/src/cairo-scaled-font.c b/src/cairo-scaled-font.c index e07ab537d..73afb5ff0 100755 --- a/src/cairo-scaled-font.c +++ b/src/cairo-scaled-font.c @@ -920,6 +920,9 @@ _cairo_scaled_font_show_glyphs (cairo_scaled_font_t *scaled_font, if (scaled_font->status) return scaled_font->status; + if (!num_glyphs) + return CAIRO_STATUS_SUCCESS; + if (scaled_font->backend->show_glyphs != NULL) { status = scaled_font->backend->show_glyphs (scaled_font, op, pattern, diff --git a/src/cairo-surface.c b/src/cairo-surface.c index 669097142..ee9a28992 100644 --- a/src/cairo-surface.c +++ b/src/cairo-surface.c @@ -1812,6 +1812,9 @@ _cairo_surface_show_glyphs (cairo_surface_t *surface, return CAIRO_STATUS_NO_MEMORY; } + if (!num_glyphs) + return CAIRO_STATUS_SUCCESS; + _cairo_surface_copy_pattern_for_destination (source, surface, &dev_source.base);