Do not destroy glyph while its bitmap is used

This commit is contained in:
Christoph Gohlke 2019-10-21 14:47:51 -07:00 committed by GitHub
parent c4f2c32e2c
commit 2694564d08
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -791,7 +791,7 @@ font_render(FontObject* self, PyObject* args)
int index, error, ascender, horizontal_dir;
int load_flags;
unsigned char *source;
FT_Glyph glyph;
FT_Glyph glyph = NULL;
FT_GlyphSlot glyph_slot;
FT_Bitmap bitmap;
FT_BitmapGlyph bitmap_glyph;
@ -890,8 +890,6 @@ font_render(FontObject* self, PyObject* args)
bitmap = bitmap_glyph->bitmap;
left = bitmap_glyph->left;
FT_Done_Glyph(glyph);
} else {
bitmap = glyph_slot->bitmap;
left = glyph_slot->bitmap_left;
@ -953,6 +951,10 @@ font_render(FontObject* self, PyObject* args)
}
x += glyph_info[i].x_advance;
y -= glyph_info[i].y_advance;
if (glyph != NULL) {
FT_Done_Glyph(glyph);
glyph = NULL;
}
}
FT_Stroker_Done(stroker);