summaryrefslogtreecommitdiffstats
path: root/libass/ass_render.c
diff options
context:
space:
mode:
Diffstat (limited to 'libass/ass_render.c')
-rw-r--r--libass/ass_render.c11
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);