From c2ae5c72a8331c04ebeab73efcf6697cc8cdef46 Mon Sep 17 00:00:00 2001 From: Milan Crha Date: Fri, 17 Jan 2025 11:31:59 +0100 Subject: [PATCH] modelmenuitem: Hide item icon when menu images are disabled Track GtkSettings::gtk-menu-images property to determine whether the menu item image should be shown or not. Closes https://gitlab.gnome.org/GNOME/gtk/-/issues/7259 --- gtk/gtkmodelmenuitem.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gtk/gtkmodelmenuitem.c b/gtk/gtkmodelmenuitem.c index 103f053e6e9..054c763d5e0 100644 --- a/gtk/gtkmodelmenuitem.c +++ b/gtk/gtkmodelmenuitem.c @@ -25,6 +25,7 @@ #include "gtkcheckmenuitemprivate.h" #include "gtkimage.h" #include "gtkbox.h" +#include "gtksettings.h" struct _GtkModelMenuItem { @@ -198,11 +199,16 @@ gtk_model_menu_item_set_icon (GtkModelMenuItem *item, if (icon != NULL) { GtkWidget *image; + GtkSettings *settings; image = gtk_image_new_from_gicon (icon, GTK_ICON_SIZE_MENU); gtk_image_set_pixel_size (GTK_IMAGE (image), 16); gtk_box_pack_start (GTK_BOX (child), image, FALSE, FALSE, 0); - gtk_widget_show (image); + + settings = gtk_settings_get_default (); + g_object_bind_property (settings, "gtk-menu-images", + image, "visible", + G_BINDING_SYNC_CREATE); } g_object_notify (G_OBJECT (item), "icon"); -- GitLab