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.c9
1 files changed, 5 insertions, 4 deletions
diff --git a/libass/ass_render.c b/libass/ass_render.c
index 58b5465..76c1410 100644
--- a/libass/ass_render.c
+++ b/libass/ass_render.c
@@ -2230,14 +2230,15 @@ static void preliminary_layout(ASS_Renderer *render_priv)
}
// Reorder text into visual order
-static void reorder_text(ASS_Renderer *render_priv)
+static void reorder_text(RenderContext *state)
{
- TextInfo *text_info = &render_priv->text_info;
+ ASS_Renderer *render_priv = state->renderer;
+ TextInfo *text_info = state->text_info;
FriBidiStrIndex *cmap = ass_shaper_reorder(render_priv->shaper, text_info);
if (!cmap) {
ass_msg(render_priv->library, MSGL_ERR, "Failed to reorder text");
ass_shaper_cleanup(render_priv->shaper, text_info);
- free_render_context(&render_priv->state);
+ free_render_context(state);
return;
}
@@ -2855,7 +2856,7 @@ ass_render_event(ASS_Renderer *render_priv, ASS_Event *event,
// depends on glyph x coordinates being monotonous within runs, so it should be done before reorder
ass_process_karaoke_effects(state);
- reorder_text(render_priv);
+ reorder_text(state);
align_lines(state, max_text_width);