From f2ece009b3f0de4d96c23705328e1167bda350bd Mon Sep 17 00:00:00 2001 From: Christian Dywan Date: Tue, 26 Aug 2008 02:27:02 +0200 Subject: [PATCH] Unset the panel menu items before activating We need a trick to fix the behaviour of toggle buttons not to fire any signals if they are activated repeatedly, which in our use case is essential. --- midori/midori-panel.c | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/midori/midori-panel.c b/midori/midori-panel.c index dc8a8936..2e71895d 100644 --- a/midori/midori-panel.c +++ b/midori/midori-panel.c @@ -322,7 +322,12 @@ midori_panel_menu_item_activate_cb (GtkWidget* widget, toolitem = g_object_get_data (G_OBJECT (widget), "toolitem"); if (toolitem) + { + /* Unset the button before setting it ensures that + it will emit signals even if it was active before */ + gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (toolitem), FALSE); gtk_toggle_tool_button_set_active (GTK_TOGGLE_TOOL_BUTTON (toolitem), TRUE); + } else { n = midori_panel_page_num (panel, child); @@ -341,7 +346,7 @@ midori_panel_menu_item_activate_cb (GtkWidget* widget, * @label: a string to use as the label * * Appends a new page to the panel. If @toolbar is specified it will - * be packaged above @child. + * be packed above @child. * * In the case of an error, -1 is returned. *