diff options
Diffstat (limited to 'libass/ass_render.c')
-rw-r--r-- | libass/ass_render.c | 9 |
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); |