columnviewcellwidget: Ensure for_size is large enough
authorBenjamin Otte <otte@redhat.com>
Thu, 30 Mar 2023 06:51:19 +0000 (08:51 +0200)
committerBenjamin Otte <otte@redhat.com>
Sat, 1 Apr 2023 18:49:40 +0000 (20:49 +0200)
When clipping, we still need to do proper size requests.

gtk/gtkcolumnviewcellwidget.c
gtk/gtkcolumnviewtitle.c

index ecbc2806d696292941bbd5d360830967d9f74543..82bd843bb45db429ff26bcf2215e9b4c2ff988c0 100644 (file)
@@ -108,10 +108,15 @@ gtk_column_view_cell_widget_measure (GtkWidget      *widget,
     {
       if (fixed_width > -1)
         {
+          int min;
+
           if (for_size == -1)
             for_size = unadj_width;
           else
             for_size = MIN (for_size, unadj_width);
+
+          gtk_widget_measure (child, GTK_ORIENTATION_HORIZONTAL, -1, &min, NULL, NULL, NULL);
+          for_size = MAX (for_size, min);
         }
     }
 
index b55e9808218dd2f553159359495f15e19bb05614..43ae56224fc61af0e8a7ca1df91bd96fca814bf4 100644 (file)
@@ -90,10 +90,15 @@ gtk_column_view_title_measure (GtkWidget      *widget,
     {
       if (fixed_width > -1)
         {
+          int min;
+
           if (for_size == -1)
             for_size = unadj_width;
           else
             for_size = MIN (for_size, unadj_width);
+
+          gtk_widget_measure (child, GTK_ORIENTATION_HORIZONTAL, -1, &min, NULL, NULL, NULL);
+          for_size = MAX (for_size, min);
         }
     }