From ee08565389f0e0f3a5861887d0a0322b59213f98 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?P=C5=99emysl=20Eric=20Janouch?= Date: Thu, 28 Dec 2023 11:19:04 +0100 Subject: Resolve spurious overshoot indicators _gtk_scrolled_window_get_overshoot() decrements the page size from the upper value before using it for comparisons. --- fiv-browser.c | 9 ++++----- fiv-view.c | 6 ++++-- 2 files changed, 8 insertions(+), 7 deletions(-) diff --git a/fiv-browser.c b/fiv-browser.c index 867786a..cfff7e2 100644 --- a/fiv-browser.c +++ b/fiv-browser.c @@ -275,14 +275,13 @@ relayout(FivBrowser *self, int width) gtk_adjustment_set_page_size(self->hadjustment, width); } if (self->vadjustment) { + int height = gtk_widget_get_allocated_height(widget); gtk_adjustment_set_lower(self->vadjustment, 0); - gtk_adjustment_set_upper(self->vadjustment, total_height); + gtk_adjustment_set_upper(self->vadjustment, MAX(height, total_height)); gtk_adjustment_set_step_increment(self->vadjustment, self->item_height + self->item_spacing + 2 * self->item_border_y); - gtk_adjustment_set_page_increment( - self->vadjustment, gtk_widget_get_allocated_height(widget) * 0.9); - gtk_adjustment_set_page_size( - self->vadjustment, gtk_widget_get_allocated_height(widget)); + gtk_adjustment_set_page_increment(self->vadjustment, height * 0.9); + gtk_adjustment_set_page_size(self->vadjustment, height); } return total_height; } diff --git a/fiv-view.c b/fiv-view.c index b05e30b..d3e634a 100644 --- a/fiv-view.c +++ b/fiv-view.c @@ -198,12 +198,14 @@ update_adjustments(FivView *self) if (self->hadjustment) { gtk_adjustment_configure(self->hadjustment, - gtk_adjustment_get_value(self->hadjustment), 0, dw, + gtk_adjustment_get_value(self->hadjustment), + 0, MAX(dw, alloc.width), alloc.width * 0.1, alloc.width * 0.9, alloc.width); } if (self->vadjustment) { gtk_adjustment_configure(self->vadjustment, - gtk_adjustment_get_value(self->vadjustment), 0, dh, + gtk_adjustment_get_value(self->vadjustment), + 0, MAX(dh, alloc.height), alloc.height * 0.1, alloc.height * 0.9, alloc.height); } } -- cgit v1.2.3