gridview: Add border-spacing where it was missed
authorBenjamin Otte <otte@redhat.com>
Tue, 16 May 2023 16:08:21 +0000 (18:08 +0200)
committerBenjamin Otte <otte@redhat.com>
Tue, 16 May 2023 16:53:09 +0000 (18:53 +0200)
We were computing column widths without taking border-spacing into
account, making them slightly too big.

gtk/gtkgridview.c

index 274f34c3c9502a4e954d549760d10f9c673abb8f..885826a138e7bb850752ffdf30f319bb44528d5c 100644 (file)
@@ -657,7 +657,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;
@@ -770,7 +770,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 */