gridview: Add border-spacing where it was missed
authorBenjamin Otte <otte@redhat.com>
Tue, 16 May 2023 16:08:21 +0000 (18:08 +0200)
committerAntónio Fernandes <antoniof@gnome.org>
Sun, 28 May 2023 19:13:39 +0000 (15:13 -0400)
We were computing column widths without taking border-spacing into
account, making them slightly too big.

(cherry picked from commit 099955b0c06dbddc9469bd3c8e63673a3a82883f)

gtk/gtkgridview.c

index 76f2e26e002c61d8d95b0c345f72ed088f0fef96..64526b10b955bf2fa49dc194f84623feb49386f9 100644 (file)
@@ -596,7 +596,7 @@ gtk_grid_view_measure_list (GtkWidget *widget,
   gtk_grid_view_measure_column_size (self, &col_min, &col_nat);
   for_size = MAX (for_size, col_min * (int) self->min_columns);
   n_columns = gtk_grid_view_compute_n_columns (self, for_size, xspacing, col_min, col_nat);
-  column_size = for_size / n_columns;
+  column_size = (for_size + xspacing) / n_columns - xspacing;
 
   i = 0;
   row_height = 0;
@@ -709,7 +709,7 @@ gtk_grid_view_size_allocate (GtkWidget *widget,
                                                      orientation == GTK_ORIENTATION_VERTICAL ? width : height,
                                                      xspacing,
                                                      col_min, col_nat);
-  self->column_width = (orientation == GTK_ORIENTATION_VERTICAL ? width : height) / self->n_columns;
+  self->column_width = ((orientation == GTK_ORIENTATION_VERTICAL ? width : height) + xspacing) / self->n_columns - xspacing;
   self->column_width = MAX (self->column_width, col_min);
 
   /* step 2: determine height of known rows */