diff options
author | Javier <dev.git@javispedro.com> | 2015-02-14 23:24:01 +0100 |
---|---|---|
committer | Javier <dev.git@javispedro.com> | 2015-02-14 23:24:01 +0100 |
commit | f0d43c65fe9c6b258a92ae9dfd612eae0060754b (patch) | |
tree | 13f81423b42776bbce4d4eb18ae3f516b4a758e0 /module/menuitem-proxy.c | |
parent | 9d5399a80f6db1f065e13add5aad8b31c6774184 (diff) | |
download | topmenu-gtk-f0d43c65fe9c6b258a92ae9dfd612eae0060754b.tar.gz topmenu-gtk-f0d43c65fe9c6b258a92ae9dfd612eae0060754b.zip |
try a new method to proxy "select"/"deselect" signals
Diffstat (limited to 'module/menuitem-proxy.c')
-rw-r--r-- | module/menuitem-proxy.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/module/menuitem-proxy.c b/module/menuitem-proxy.c index 55319b3..6c413b8 100644 --- a/module/menuitem-proxy.c +++ b/module/menuitem-proxy.c @@ -499,6 +499,8 @@ static void handle_proxy_select(GtkMenuItem *proxy, GtkMenuItem *item) GtkWidget *submenu = gtk_menu_item_get_submenu(item); GtkWidget *parent = gtk_widget_get_parent(GTK_WIDGET(proxy)); + g_signal_emit_by_name(item, "select", NULL); + if (submenu && parent) { if (!gtk_widget_is_sensitive(GTK_WIDGET(submenu))) return; @@ -535,6 +537,8 @@ static void handle_proxy_deselect(GtkMenuItem *proxy, GtkMenuItem *item) { GtkWidget *submenu = gtk_menu_item_get_submenu(item); + g_signal_emit_by_name(item, "deselect", NULL); + if (submenu) { g_signal_handlers_disconnect_by_func(submenu, handle_menu_leave_notify, item); g_signal_handlers_disconnect_by_func(gtk_widget_get_parent(GTK_WIDGET(proxy)), |