# HG changeset patch # User bsmith@81767d24-ef19-dc11-ae90-00e081727c95 # Date 1615697313 0 # Node ID 0f340646a2ca05b4fb421db74bf800de99cc7d77 # Parent b3efaae95735ca1ab9e48ebb413dfe7c43bf47de GTK4: GtkPictures should be centered, not filled... don't clobber the alignment during box packing. diff -r b3efaae95735 -r 0f340646a2ca gtk4/dw.c --- a/gtk4/dw.c Sun Mar 14 00:12:04 2021 +0000 +++ b/gtk4/dw.c Sun Mar 14 04:48:33 2021 +0000 @@ -2642,6 +2642,9 @@ { GtkWidget *tmp = gtk_picture_new(); gtk_picture_set_can_shrink(GTK_PICTURE(tmp), TRUE); + gtk_picture_set_keep_aspect_ratio(GTK_PICTURE(tmp), TRUE); + gtk_widget_set_halign(GTK_WIDGET(tmp), GTK_ALIGN_CENTER); + gtk_widget_set_valign(GTK_WIDGET(tmp), GTK_ALIGN_CENTER); gtk_widget_show(tmp); g_object_set_data(G_OBJECT(tmp), "_dw_id", GINT_TO_POINTER(cid)); DW_FUNCTION_RETURN_THIS(tmp); @@ -8263,9 +8266,13 @@ g_object_set_data(G_OBJECT(item), "_dw_table", box); /* Set the expand attribute on the widgets now instead of the container */ gtk_widget_set_vexpand(item, vsize); - gtk_widget_set_valign(item, vsize ? GTK_ALIGN_FILL : GTK_ALIGN_START); gtk_widget_set_hexpand(item, hsize); - gtk_widget_set_halign(item, hsize ? GTK_ALIGN_FILL : GTK_ALIGN_START); + /* Don't clobber the center alignment on pictures */ + if(!GTK_IS_PICTURE(item)) + { + gtk_widget_set_valign(item, vsize ? GTK_ALIGN_FILL : GTK_ALIGN_START); + gtk_widget_set_halign(item, hsize ? GTK_ALIGN_FILL : GTK_ALIGN_START); + } /* Set pad for each margin direction on the widget */ _dw_widget_set_pad(item, pad); /* Add to the grid using insert...