diff options
author | Grigori Goronzy <greg@blackbox> | 2010-08-09 02:55:30 +0200 |
---|---|---|
committer | Grigori Goronzy <greg@blackbox> | 2010-08-09 02:55:30 +0200 |
commit | 4785892febea2fbb127e9ec174035991c06dea95 (patch) | |
tree | 8daf5a478c1c88dd134108bd1fb760bcfc55669f /libass/ass_render.c | |
parent | d8727de26b1e6ccf2682437e9f23d16a0be7ee79 (diff) | |
download | libass-4785892febea2fbb127e9ec174035991c06dea95.tar.bz2 libass-4785892febea2fbb127e9ec174035991c06dea95.tar.xz |
Fix drawing leakage: delay glyph allocation
Delay allocation of the "faux" glyph until a drawing is parsed.
This helps with fixing a (pretty bad) memory leak and also reduces frame
overhead a little.
Diffstat (limited to 'libass/ass_render.c')
-rw-r--r-- | libass/ass_render.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/libass/ass_render.c b/libass/ass_render.c index 3e241c1..caea6b9 100644 --- a/libass/ass_render.c +++ b/libass/ass_render.c @@ -911,9 +911,9 @@ init_render_context(ASS_Renderer *render_priv, ASS_Event *event) render_priv->state.effect_type = EF_NONE; render_priv->state.effect_timing = 0; render_priv->state.effect_skip_timing = 0; + ass_drawing_free(render_priv->state.drawing); render_priv->state.drawing = ass_drawing_new(render_priv->fontconfig_priv, render_priv->state.font, - render_priv->settings.hinting, render_priv->ftlibrary); apply_transition_effects(render_priv, event); @@ -1900,7 +1900,6 @@ ass_render_event(ASS_Renderer *render_priv, ASS_Event *event, drawing = render_priv->state.drawing = ass_drawing_new(render_priv->fontconfig_priv, render_priv->state.font, - render_priv->settings.hinting, render_priv->ftlibrary); } } |