[PATCH 38/66] kconfig: gconf: use GdkPixbuf in replace_button_icon()

From: Masahiro Yamada
Date: Tue Jun 24 2025 - 11:15:23 EST


gdk_pixmap_create_from_xpm_d has been deprecated since version 2.22.
Use a GdkPixbuf instead. You can use gdk_pixbuf_new_from_xpm_data() to
create it. [1]

[1]: https://gitlab.gnome.org/GNOME/gtk/-/blob/2.24.33/gdk/gdkpixmap.c#L742

Signed-off-by: Masahiro Yamada <masahiroy@xxxxxxxxxx>
---

scripts/kconfig/gconf.c | 13 ++++++-------
1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/scripts/kconfig/gconf.c b/scripts/kconfig/gconf.c
index b019711142c3..30d8fdb886c0 100644
--- a/scripts/kconfig/gconf.c
+++ b/scripts/kconfig/gconf.c
@@ -1102,17 +1102,16 @@ static void fixup_rootmenu(struct menu *menu)
static void replace_button_icon(GladeXML *xml, GdkDrawable *window,
GtkStyle *style, gchar *btn_name, gchar **xpm)
{
- GdkPixmap *pixmap;
- GdkBitmap *mask;
- GtkToolButton *button;
+ GdkPixbuf *pixbuf;
GtkWidget *image;
+ GtkToolButton *button;

- pixmap = gdk_pixmap_create_from_xpm_d(window, &mask,
- &style->bg[GTK_STATE_NORMAL],
- xpm);
+ pixbuf = gdk_pixbuf_new_from_xpm_data((const char **)xpm);
+ image = gtk_image_new_from_pixbuf(pixbuf);
+ g_object_unref(pixbuf);

button = GTK_TOOL_BUTTON(glade_xml_get_widget(xml, btn_name));
- image = gtk_image_new_from_pixmap(pixmap, mask);
+
gtk_widget_show(image);
gtk_tool_button_set_icon_widget(button, image);
}
--
2.43.0