[gtk] menu: Set up callback with a return function
- From: Carlos Garnacho <carlosg src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk] menu: Set up callback with a return function
- Date: Wed, 25 Apr 2018 17:13:06 +0000 (UTC)
commit 77f4204bf435c6d498e7556717e2df6077c91dcd
Author: Carlos Garnacho <carlosg gnome org>
Date: Wed Apr 25 19:07:50 2018 +0200
menu: Set up callback with a return function
The function hooked up to the ::key-pressed signal should have
a return value. Pointed out by Peter Bloomfield.
gtk/gtkmenu.c | 20 ++++++++++++++++++--
1 file changed, 18 insertions(+), 2 deletions(-)
---
diff --git a/gtk/gtkmenu.c b/gtk/gtkmenu.c
index 249cbd2e41..c87c8f9df5 100644
--- a/gtk/gtkmenu.c
+++ b/gtk/gtkmenu.c
@@ -235,6 +235,11 @@ static void gtk_menu_enter (GtkEventController *controller,
gpointer user_data);
static void gtk_menu_leave (GtkEventController *controller,
gpointer user_data);
+static gboolean gtk_menu_key_pressed (GtkEventControllerKey *controller,
+ guint keyval,
+ guint keycode,
+ GdkModifierType state,
+ GtkMenu *menu);
static void gtk_menu_scroll_to (GtkMenu *menu,
gint offset);
static void gtk_menu_grab_notify (GtkWidget *widget,
@@ -1145,8 +1150,8 @@ gtk_menu_init (GtkMenu *menu)
priv->key_controller =
gtk_event_controller_key_new (GTK_WIDGET (menu));
- g_signal_connect_swapped (priv->key_controller, "key-pressed",
- G_CALLBACK (gtk_menu_stop_navigating_submenu), menu);
+ g_signal_connect (priv->key_controller, "key-pressed",
+ G_CALLBACK (gtk_menu_key_pressed), menu);
}
static void
@@ -3481,6 +3486,17 @@ gtk_menu_leave (GtkEventController *controller,
gtk_menu_handle_scrolling (menu, event->x_root, event->y_root, FALSE, TRUE);
}
+static gboolean
+gtk_menu_key_pressed (GtkEventControllerKey *controller,
+ guint keyval,
+ guint keycode,
+ GdkModifierType state,
+ GtkMenu *menu)
+{
+ gtk_menu_stop_navigating_submenu (menu);
+ return FALSE;
+}
+
static gboolean
pointer_on_menu_widget (GtkMenu *menu,
gdouble x_root,
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]