summaryrefslogtreecommitdiffstats
path: root/libass/ass_render.c
diff options
context:
space:
mode:
authorGrigori Goronzy <greg@blackbox>2010-08-09 02:55:30 +0200
committerGrigori Goronzy <greg@blackbox>2010-08-09 02:55:30 +0200
commit4785892febea2fbb127e9ec174035991c06dea95 (patch)
tree8daf5a478c1c88dd134108bd1fb760bcfc55669f /libass/ass_render.c
parentd8727de26b1e6ccf2682437e9f23d16a0be7ee79 (diff)
downloadlibass-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.c3
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);
}
}