Correct the use of signals vs. events.
authorJohn Darrington <john@darrington.wattle.id.au>
Sat, 30 Jan 2016 20:46:07 +0000 (21:46 +0100)
committerJohn Darrington <john@darrington.wattle.id.au>
Sat, 30 Jan 2016 20:46:07 +0000 (21:46 +0100)
Commit f8fdc760d4ee04801a2da8af0700b2a87f724ae4 used a button-press-event
where a toggled signal was appropriate.  The signal might come from a
number of sources, not necesarily a button event.

src/ui/gui/windows-menu.c

index 5390b0e9ae13efb254828c87e3b55ab13787e002..e4c6fa370fd346f7cfac92b9828dd0a179b0f8a5 100644 (file)
@@ -42,23 +42,18 @@ min_all (GtkWidget *widget, gpointer ud)
 static void
 reset_check_state (GtkWidget *widget, gpointer ud)
 {
+  GtkWindow *win = GTK_WINDOW (ud);
+  gboolean state = gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget));
+
+  if (state == TRUE)
+    gtk_window_present (win);
+  
   /* Prevent the state from actually changing */
   g_signal_handlers_block_by_func (widget, reset_check_state, ud);
-  gboolean state = gtk_check_menu_item_get_active (GTK_CHECK_MENU_ITEM (widget));
   gtk_check_menu_item_set_active (GTK_CHECK_MENU_ITEM (widget), !state);
   g_signal_handlers_unblock_by_func (widget, reset_check_state, ud);
 }
 
-static gboolean
-raise_window (GtkWidget *widget, GdkEvent *ev, gpointer ud)
-{
-  GtkWindow *win = GTK_WINDOW (ud);
-  gtk_window_present_with_time (win, ((GdkEventButton *)ev)->time);
-  
-  return FALSE;
-}
-
-
 static void
 add_menuitem (gpointer key, gpointer value, gpointer user_data)
 {
@@ -72,9 +67,6 @@ add_menuitem (gpointer key, gpointer value, gpointer user_data)
 
   g_signal_connect (mi, "toggled", G_CALLBACK (reset_check_state), pw);
 
-  g_signal_connect (mi, "button-press-event", G_CALLBACK (raise_window), pw);
-  
-
   gtk_container_add (GTK_CONTAINER(menu), mi);
 }