diff options
author | Matthias Clasen <maclas@gmx.de> | 2003-09-06 22:13:20 +0000 |
---|---|---|
committer | Matthias Clasen <matthiasc@src.gnome.org> | 2003-09-06 22:13:20 +0000 |
commit | 0a79e5e3be3313a9e106322c7f7717901ba5bc4f (patch) | |
tree | 15c640b3ed33db6ceb2c9c2084dfeb9ebe9018d7 /gtk/gtkaction.c | |
parent | 7db084ec5beb4370c73ab28e69d030c90424c11e (diff) | |
download | gtk+-0a79e5e3be3313a9e106322c7f7717901ba5bc4f.tar.gz |
Make disconnect work for toolitems.
2003-09-07 Matthias Clasen <maclas@gmx.de>
* gtk/gtkaction.c (disconnect_proxy): Make disconnect work
for toolitems.
Diffstat (limited to 'gtk/gtkaction.c')
-rw-r--r-- | gtk/gtkaction.c | 13 |
1 files changed, 5 insertions, 8 deletions
diff --git a/gtk/gtkaction.c b/gtk/gtkaction.c index 926cc1b4ac..ff5a718036 100644 --- a/gtk/gtkaction.c +++ b/gtk/gtkaction.c @@ -599,7 +599,7 @@ connect_proxy (GtkAction *action, if (action->private_data->accel_quark) { gtk_menu_item_set_accel_path (GTK_MENU_ITEM (proxy), - g_quark_to_string (action->private_data->accel_quark)); + g_quark_to_string (action->private_data->accel_quark)); } g_signal_connect_object (proxy, "activate", @@ -657,11 +657,6 @@ static void disconnect_proxy (GtkAction *action, GtkWidget *proxy) { - static guint notify_id = 0; - - if (!notify_id) - notify_id = g_signal_lookup ("notify", G_TYPE_OBJECT); - g_object_set_data (G_OBJECT (proxy), "gtk-action", NULL); /* remove proxy from list of proxies */ @@ -687,13 +682,15 @@ disconnect_proxy (GtkAction *action, g_signal_handlers_disconnect_by_func (action, G_CALLBACK (gtk_action_sync_label), proxy); - - gtk_menu_item_set_accel_path (GTK_MENU_ITEM (proxy), NULL); + + if (GTK_IS_MENU_ITEM (widget)) + gtk_menu_item_set_accel_path (GTK_MENU_ITEM (widget), NULL); /* toolbar button specific synchronisers ... */ g_signal_handlers_disconnect_by_func (action, G_CALLBACK (gtk_action_sync_short_label), proxy); + g_signal_handlers_disconnect_by_func (proxy, G_CALLBACK (gtk_action_create_menu_proxy), action); |