mirror of
https://gitlab.gnome.org/GNOME/gtk.git
synced 2025-01-13 05:50:10 +00:00
listviews: Reset scrollbar adjustment when list is empty
In a list with a visible scrollbar, the scrollbar usually becomes invisible when the numbers of items is less than the required amount to scroll. If, however, the list is emptied all at once, the scrollbar remains. This happens because when there's an empty list gtk_list_view_size_allocate() returns early before the scrollbar adjustment is updated. Given that the list is empty, simply reset the adjustment values to zero. Fixes: https://gitlab.gnome.org/GNOME/gtk/-/issues/4370
This commit is contained in:
parent
1e3ae95b7e
commit
94673707e6
@ -758,7 +758,10 @@ gtk_grid_view_size_allocate (GtkWidget *widget,
|
||||
|
||||
/* step 0: exit early if list is empty */
|
||||
if (gtk_list_item_manager_get_root (self->item_manager) == NULL)
|
||||
return;
|
||||
{
|
||||
gtk_list_base_update_adjustments (GTK_LIST_BASE (self), 0, 0, 0, 0, &x, &y);
|
||||
return;
|
||||
}
|
||||
|
||||
/* step 1: determine width of the list */
|
||||
gtk_grid_view_measure_column_size (self, &col_min, &col_nat);
|
||||
|
@ -596,7 +596,10 @@ gtk_list_view_size_allocate (GtkWidget *widget,
|
||||
|
||||
/* step 0: exit early if list is empty */
|
||||
if (gtk_list_item_manager_get_root (self->item_manager) == NULL)
|
||||
return;
|
||||
{
|
||||
gtk_list_base_update_adjustments (GTK_LIST_BASE (self), 0, 0, 0, 0, &x, &y);
|
||||
return;
|
||||
}
|
||||
|
||||
/* step 1: determine width of the list */
|
||||
gtk_widget_measure (widget, opposite_orientation,
|
||||
|
Loading…
Reference in New Issue
Block a user