From 44fdcdfb5bb94501af138deb56a01398749c82ab Mon Sep 17 00:00:00 2001 From: wm4 Date: Sun, 10 May 2015 22:28:23 +0200 Subject: Fix memory leak with drawings What. Closes #175. --- libass/ass_render.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/libass/ass_render.c b/libass/ass_render.c index 21c6f6f..18ddea4 100644 --- a/libass/ass_render.c +++ b/libass/ass_render.c @@ -972,6 +972,11 @@ static void free_render_context(ASS_Renderer *render_priv) render_priv->state.family = NULL; render_priv->state.clip_drawing = NULL; + + TextInfo *text_info = &render_priv->text_info; + for (int n = 0; n < text_info->length; n++) + ass_drawing_free(text_info->glyphs[n].drawing); + text_info->length = 0; } /* @@ -2450,8 +2455,8 @@ ass_render_event(ASS_Renderer *render_priv, ASS_Event *event, return 1; } + free_render_context(render_priv); init_render_context(render_priv, event); - text_info->length = 0; if (parse_events(render_priv, event)) return 1; -- cgit v1.2.3