summaryrefslogtreecommitdiff
path: root/gtk/gtkmenushell.c
diff options
context:
space:
mode:
Diffstat (limited to 'gtk/gtkmenushell.c')
-rw-r--r--gtk/gtkmenushell.c8
1 files changed, 4 insertions, 4 deletions
diff --git a/gtk/gtkmenushell.c b/gtk/gtkmenushell.c
index 69f1568d97..8873345ffa 100644
--- a/gtk/gtkmenushell.c
+++ b/gtk/gtkmenushell.c
@@ -411,13 +411,15 @@ static void
gtk_menu_shell_init (GtkMenuShell *menu_shell)
{
GtkWidget *widget = GTK_WIDGET (menu_shell);
+ GtkEventController *controller;
menu_shell->priv = gtk_menu_shell_get_instance_private (menu_shell);
menu_shell->priv->take_focus = TRUE;
- menu_shell->priv->key_controller = gtk_event_controller_key_new (widget);
- g_signal_connect (menu_shell->priv->key_controller, "key-pressed",
+ controller = gtk_event_controller_key_new ();
+ g_signal_connect (controller, "key-pressed",
G_CALLBACK (gtk_menu_shell_key_press), widget);
+ gtk_widget_add_controller (widget, controller);
gtk_widget_set_has_surface (widget, FALSE);
}
@@ -471,8 +473,6 @@ gtk_menu_shell_finalize (GObject *object)
if (priv->key_hash)
_gtk_key_hash_free (priv->key_hash);
- g_object_unref (priv->key_controller);
-
G_OBJECT_CLASS (gtk_menu_shell_parent_class)->finalize (object);
}