From: John Darrington Date: Sat, 30 Jan 2016 20:46:07 +0000 (+0100) Subject: Correct the use of signals vs. events. X-Git-Url: https://pintos-os.org/cgi-bin/gitweb.cgi?p=pspp;a=commitdiff_plain;h=4afc697af0b98afcb52e0384be90f893d6710893 Correct the use of signals vs. events. 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. --- diff --git a/src/ui/gui/windows-menu.c b/src/ui/gui/windows-menu.c index 5390b0e9ae..e4c6fa370f 100644 --- a/src/ui/gui/windows-menu.c +++ b/src/ui/gui/windows-menu.c @@ -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); }