diff options
-rw-r--r-- | libass/ass_render.c | 15 |
1 files changed, 10 insertions, 5 deletions
diff --git a/libass/ass_render.c b/libass/ass_render.c index 45f9b9e..2e9d76e 100644 --- a/libass/ass_render.c +++ b/libass/ass_render.c @@ -67,6 +67,15 @@ static bool text_info_init(TextInfo* text_info) return true; } +static void text_info_done(TextInfo* text_info) +{ + free(text_info->glyphs); + free(text_info->event_text); + free(text_info->breaks); + free(text_info->lines); + free(text_info->combined_bitmaps); +} + ASS_Renderer *ass_renderer_init(ASS_Library *library) { int error; @@ -173,12 +182,8 @@ void ass_renderer_done(ASS_Renderer *render_priv) if (render_priv->ftlibrary) FT_Done_FreeType(render_priv->ftlibrary); free(render_priv->eimg); - free(render_priv->text_info.glyphs); - free(render_priv->text_info.event_text); - free(render_priv->text_info.breaks); - free(render_priv->text_info.lines); - free(render_priv->text_info.combined_bitmaps); + text_info_done(&render_priv->text_info); free(render_priv->settings.default_font); free(render_priv->settings.default_family); |