]> spindle.queued.net Git - midori/commitdiff
Unset the panel menu items before activating
authorChristian Dywan <christian@twotoasts.de>
Tue, 26 Aug 2008 00:27:02 +0000 (02:27 +0200)
committerChristian Dywan <christian@twotoasts.de>
Tue, 26 Aug 2008 00:27:02 +0000 (02:27 +0200)
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

index dc8a8936c94d1ec82d2ca664dab11bc064fe6694..2e71895d5221acd9bdd24f16f7529b0063dc4e76 100644 (file)
@@ -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.
  *