This is an automated email from the git hooks/post-receive script. andrzejr pushed a commit to branch master in repository xfce/xfce4-panel.
commit 85e08f7a920e5560cab89c3a326edf7be19950fe Author: Andrzej <[email protected]> Date: Wed May 28 23:06:58 2014 +0100 ApplicationsMenu: fixed wrong initial icon size in some themes --- plugins/applicationsmenu/applicationsmenu.c | 35 +++++++++++++++++++++++++++ 1 file changed, 35 insertions(+) diff --git a/plugins/applicationsmenu/applicationsmenu.c b/plugins/applicationsmenu/applicationsmenu.c index 94d569d..70f53b5 100644 --- a/plugins/applicationsmenu/applicationsmenu.c +++ b/plugins/applicationsmenu/applicationsmenu.c @@ -68,6 +68,9 @@ struct _ApplicationsMenuPlugin /* temp item we store here when the * properties dialog is opened */ GtkWidget *dialog_icon; + + gulong style_set_id; + gulong screen_changed_id; }; enum @@ -109,6 +112,7 @@ static gboolean applications_menu_plugin_menu (GtkWidget static void applications_menu_plugin_menu_deactivate (GtkWidget *menu, GtkWidget *button); static void applications_menu_plugin_set_garcon_menu (ApplicationsMenuPlugin *plugin); +static void applications_menu_button_theme_changed (ApplicationsMenuPlugin *plugin); @@ -225,6 +229,11 @@ applications_menu_plugin_init (ApplicationsMenuPlugin *plugin) plugin->menu = garcon_gtk_menu_new (NULL); g_signal_connect (G_OBJECT (plugin->menu), "selection-done", G_CALLBACK (applications_menu_plugin_menu_deactivate), plugin->button); + + plugin->style_set_id = g_signal_connect_swapped (G_OBJECT (plugin->button), "style-set", + 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); } @@ -401,6 +410,8 @@ applications_menu_plugin_construct (XfcePanelPlugin *panel_plugin) gtk_widget_show (plugin->button); + applications_menu_plugin_size_changed (panel_plugin, + xfce_panel_plugin_get_size (panel_plugin)); plugin->is_constructed = TRUE; } @@ -414,6 +425,18 @@ applications_menu_plugin_free_data (XfcePanelPlugin *panel_plugin) if (plugin->menu != NULL) gtk_widget_destroy (plugin->menu); + if (plugin->style_set_id != 0) + { + g_signal_handler_disconnect (plugin->button, plugin->style_set_id); + plugin->style_set_id = 0; + } + + if (plugin->screen_changed_id != 0) + { + g_signal_handler_disconnect (plugin->button, plugin->screen_changed_id); + plugin->screen_changed_id = 0; + } + g_free (plugin->button_title); g_free (plugin->button_icon); g_free (plugin->custom_menu_file); @@ -786,3 +809,15 @@ applications_menu_plugin_menu (GtkWidget *button, return TRUE; } + + + +static void +applications_menu_button_theme_changed (ApplicationsMenuPlugin *plugin) +{ + XfcePanelPlugin *panel_plugin = XFCE_PANEL_PLUGIN (plugin); + + applications_menu_plugin_size_changed (panel_plugin, + xfce_panel_plugin_get_size (panel_plugin)); +} + -- 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
