If we have a non-zero Adjustment:page-size, the actual amount we draw is
reduced by that page-size. We account for this in various places, but we
did not when deciding how far to allocate the highlight widget, so we
were drawing the highlight not far enough, falling short of the value.
This fixes by subtracting the page-size from the drawn range here too.
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/5976
if (lower == upper)
value = 0;
else
- value = (gtk_adjustment_get_value (priv->adjustment) - lower) / (upper - lower);
+ value = (gtk_adjustment_get_value (priv->adjustment) - lower) /
+ (upper - page_size - lower);
if (priv->show_fill_level &&
upper - page_size - lower != 0)
{
double level, fill;
GtkAllocation fill_alloc;
-
fill_alloc = (GtkAllocation) {0, 0, width, height};
level = CLAMP (priv->fill_level, lower, upper - page_size);
-
fill = (level - lower) / (upper - lower - page_size);
if (priv->orientation == GTK_ORIENTATION_HORIZONTAL)