summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--libass/ass_render.c14
1 files changed, 7 insertions, 7 deletions
diff --git a/libass/ass_render.c b/libass/ass_render.c
index 9ba3884..69c4439 100644
--- a/libass/ass_render.c
+++ b/libass/ass_render.c
@@ -691,8 +691,7 @@ static ASS_Style *handle_selective_style_overrides(ASS_Renderer *render_priv,
// The user style was set with ass_set_selective_style_override().
ASS_Style *user = &render_priv->user_override_style;
ASS_Style *new = &render_priv->state.override_style_temp_storage;
- int explicit = event_has_hard_overrides(render_priv->state.event->Text) ||
- render_priv->state.evt_type != EVENT_NORMAL;
+ int explicit = render_priv->state.explicit;
int requested = render_priv->settings.selective_style_overrides;
double scale;
@@ -707,8 +706,6 @@ static ASS_Style *handle_selective_style_overrides(ASS_Renderer *render_priv,
// script's style that are deemed necessary.
*new = *rstyle;
- render_priv->state.explicit = explicit;
-
render_priv->state.apply_font_scale =
!explicit || !(requested & ASS_OVERRIDE_BIT_SELECTIVE_FONT_SCALE);
@@ -866,11 +863,8 @@ init_render_context(ASS_Renderer *render_priv, ASS_Event *event)
render_priv->state.parsed_tags = 0;
render_priv->state.evt_type = EVENT_NORMAL;
- reset_render_context(render_priv, NULL);
render_priv->state.wrap_style = render_priv->track->WrapStyle;
- render_priv->state.alignment = render_priv->state.style->Alignment;
- render_priv->state.justify = render_priv->state.style->Justify;
render_priv->state.pos_x = 0;
render_priv->state.pos_y = 0;
render_priv->state.org_x = 0;
@@ -890,6 +884,12 @@ init_render_context(ASS_Renderer *render_priv, ASS_Event *event)
render_priv->state.effect_skip_timing = 0;
apply_transition_effects(render_priv, event);
+ render_priv->state.explicit = render_priv->state.evt_type != EVENT_NORMAL ||
+ event_has_hard_overrides(event->Text);
+
+ reset_render_context(render_priv, NULL);
+ render_priv->state.alignment = render_priv->state.style->Alignment;
+ render_priv->state.justify = render_priv->state.style->Justify;
}
static void free_render_context(ASS_Renderer *render_priv)