This is an automated email from the git hooks/post-receive script. o c h o s i p u s h e d a c o m m i t t o b r a n c h m a s t e r in repository xfce/xfce4-panel.
commit 17049bdf7e55447460c0371cbae63fa5ac75f0d1 Author: Olivier Duchateau <[email protected]> Date: Sun Oct 13 01:16:21 2019 +0200 appmenu: Listen to icon theme changes (Bug #15861) --- plugins/applicationsmenu/applicationsmenu.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) diff --git a/plugins/applicationsmenu/applicationsmenu.c b/plugins/applicationsmenu/applicationsmenu.c index b14c114..f099e1a 100644 --- a/plugins/applicationsmenu/applicationsmenu.c +++ b/plugins/applicationsmenu/applicationsmenu.c @@ -72,6 +72,7 @@ struct _ApplicationsMenuPlugin gulong style_set_id; gulong screen_changed_id; + gulong theme_changed_id; }; enum @@ -209,9 +210,13 @@ applications_menu_plugin_class_init (ApplicationsMenuPluginClass *klass) static void applications_menu_plugin_init (ApplicationsMenuPlugin *plugin) { + GtkIconTheme *icon_theme; + /* init garcon environment */ garcon_set_environment_xdg (GARCON_ENVIRONMENT_XFCE); + icon_theme = gtk_icon_theme_get_default (); + plugin->button = xfce_panel_create_toggle_button (); xfce_panel_plugin_add_action_widget (XFCE_PANEL_PLUGIN (plugin), plugin->button); gtk_container_add (GTK_CONTAINER (plugin), plugin->button); @@ -244,6 +249,8 @@ applications_menu_plugin_init (ApplicationsMenuPlugin *plugin) G_CALLBACK (applications_menu_button_theme_changed), plugin); plugin->screen_changed_id = g_signal_connect_swapped (G_OBJECT (plugin->button), "screen-changed", G_CALLBACK (applications_menu_button_theme_changed), plugin); + plugin->theme_changed_id = g_signal_connect_swapped (G_OBJECT (icon_theme), "changed", + G_CALLBACK (applications_menu_plugin_set_garcon_menu), plugin); } @@ -443,6 +450,7 @@ static void applications_menu_plugin_free_data (XfcePanelPlugin *panel_plugin) { ApplicationsMenuPlugin *plugin = XFCE_APPLICATIONS_MENU_PLUGIN (panel_plugin); + GtkIconTheme *icon_theme; if (plugin->menu != NULL) gtk_widget_destroy (plugin->menu); @@ -459,6 +467,14 @@ applications_menu_plugin_free_data (XfcePanelPlugin *panel_plugin) plugin->screen_changed_id = 0; } + if (plugin->theme_changed_id != 0) + { + icon_theme = gtk_icon_theme_get_default (); + g_signal_handler_disconnect (G_OBJECT (icon_theme), + plugin->theme_changed_id); + plugin->theme_changed_id = 0; + } + g_free (plugin->button_title); g_free (plugin->button_icon); g_free (plugin->custom_menu_file); -- To stop receiving notification emails like this one, please contact the administrator of this repository. _______________________________________________ Xfce4-commits mailing list [email protected] https://mail.xfce.org/mailman/listinfo/xfce4-commits
