From d3fd7a8f7689adf0b0d4751db15351c8a70dfc6b Mon Sep 17 00:00:00 2001 From: monsta Date: Thu, 25 May 2017 14:28:39 +0300 Subject: GTK+3: fix crash when some .desktop file has empty Icon field port of c57c2c40d5d6b1cfbab1978cba9c785b0d70f888 to mixed GTK+2/3 code --- mate-panel/menu.c | 11 +++++++++++ 1 file changed, 11 insertions(+) diff --git a/mate-panel/menu.c b/mate-panel/menu.c index 053c077b..e2a8d5c9 100644 --- a/mate-panel/menu.c +++ b/mate-panel/menu.c @@ -1212,15 +1212,26 @@ create_menuitem (GtkWidget *menu, if (matemenu_tree_entry_get_icon (entry) != NULL) { const char *icon; +#if GTK_CHECK_VERSION (3, 0, 0) + GIcon *gicon; +#else char *icon_no_ext; +#endif icon = matemenu_tree_entry_get_icon (entry); +#if GTK_CHECK_VERSION (3, 0, 0) + gicon = panel_gicon_from_icon_name (icon); + if (gicon != NULL) { + gtk_drag_source_set_icon_gicon (menuitem, gicon); + } +#else if (!g_path_is_absolute (icon)) { icon_no_ext = panel_xdg_icon_remove_extension (icon); gtk_drag_source_set_icon_name (menuitem, icon_no_ext); g_free (icon_no_ext); } +#endif } g_signal_connect (G_OBJECT (menuitem), "drag_begin", -- cgit v1.2.1