This may come from different sources at around the same time, e.g.
a hold gesture while on overshoot. Avoid doing that if an
animation is already set.
Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4730
if (priv->x_velocity != 0 || priv->y_velocity != 0 || overshoot)
{
- gtk_scrolled_window_start_deceleration (scrolled_window);
+ if (priv->deceleration_id == 0)
+ gtk_scrolled_window_start_deceleration (scrolled_window);
priv->x_velocity = priv->y_velocity = 0;
}
}