diff options
Diffstat (limited to 'libass/ass_render.c')
-rw-r--r-- | libass/ass_render.c | 11 |
1 files changed, 7 insertions, 4 deletions
diff --git a/libass/ass_render.c b/libass/ass_render.c index 42758c8..5122128 100644 --- a/libass/ass_render.c +++ b/libass/ass_render.c @@ -147,8 +147,8 @@ void ass_renderer_done(ASS_Renderer *render_priv) } if (render_priv->ftlibrary) FT_Done_FreeType(render_priv->ftlibrary); - if (render_priv->fontconfig_priv) - fontconfig_done(render_priv->fontconfig_priv); + if (render_priv->fontselect) + ass_fontselect_free(render_priv->fontselect); ass_shaper_free(render_priv->shaper); free(render_priv->eimg); free(render_priv->text_info.glyphs); @@ -1181,7 +1181,7 @@ get_outline_glyph(ASS_Renderer *priv, GlyphInfo *info) ass_font_set_transform(info->font, info->scale_x, info->scale_y, NULL); FT_Glyph glyph = - ass_font_get_glyph(priv->fontconfig_priv, info->font, + ass_font_get_glyph(info->font, info->symbol, info->face_index, info->glyph_index, priv->settings.hinting, info->flags); if (glyph != NULL) { @@ -2671,7 +2671,10 @@ ass_start_frame(ASS_Renderer *render_priv, ASS_Track *track, && !render_priv->settings.frame_height) return 1; // library not initialized - if (!render_priv->fontconfig_priv) + if (!render_priv->fontselect) + return 1; + + if (render_priv->library != track->library) return 1; free_list_clear(render_priv); |