From 9e7106018e9c6552a24d4e236a5e0e74c54c95bb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Daniel=20Ekl=C3=B6f?= Date: Tue, 13 Aug 2019 20:44:30 +0200 Subject: [PATCH] font: don't bother creating a cairo surface for zero-width glyphs --- font.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/font.c b/font.c index 7ea22f41..8e9eb9b9 100644 --- a/font.c +++ b/font.c @@ -364,6 +364,9 @@ glyph_for_wchar(struct font *font, wchar_t wc, struct glyph *glyph) bitmap->pixel_mode == FT_PIXEL_MODE_GRAY || bitmap->pixel_mode == FT_PIXEL_MODE_BGRA); + if (bitmap->width == 0) + goto err; + /* Map FT pixel format to cairo surface format */ cairo_format_t cr_format = bitmap->pixel_mode == FT_PIXEL_MODE_MONO ? CAIRO_FORMAT_A1 : @@ -466,7 +469,7 @@ font_glyph_for_wc(struct font *font, wchar_t wc) assert(font->cache[hash_idx] == NULL); font->cache[hash_idx] = hash_entry; } - + assert(hash_entry != NULL); tll_push_back(*hash_entry, glyph);