diff --git a/gtk/gtkwindow.c b/gtk/gtkwindow.c index 56ded34521..3011d61135 100644 --- a/gtk/gtkwindow.c +++ b/gtk/gtkwindow.c @@ -1872,15 +1872,20 @@ gtk_window_init (GtkWindow *window) controller = gtk_event_controller_key_new (); gtk_event_controller_set_propagation_phase (controller, GTK_PHASE_CAPTURE); + gtk_event_controller_set_name (controller, "window mnemonics"); + g_signal_connect_swapped (controller, "key-pressed", + G_CALLBACK (gtk_window_key_pressed), window); + g_signal_connect_swapped (controller, "key-released", + G_CALLBACK (gtk_window_key_released), window); + gtk_widget_add_controller (widget, controller); + + controller = gtk_event_controller_key_new (); + gtk_event_controller_set_propagation_phase (controller, GTK_PHASE_BUBBLE); gtk_event_controller_set_name (controller, "window focus"); g_signal_connect_swapped (controller, "focus-in", G_CALLBACK (gtk_window_focus_in), window); g_signal_connect_swapped (controller, "focus-out", G_CALLBACK (gtk_window_focus_out), window); - g_signal_connect_swapped (controller, "key-pressed", - G_CALLBACK (gtk_window_key_pressed), window); - g_signal_connect_swapped (controller, "key-released", - G_CALLBACK (gtk_window_key_released), window); gtk_widget_add_controller (widget, controller); controller = gtk_shortcut_controller_new (); @@ -6072,7 +6077,6 @@ gtk_window_set_focus (GtkWindow *window, g_return_if_fail (GTK_IS_WINDOW (window)); -g_print ("window set focus: %s\n", focus ? gtk_widget_get_name (focus):""); if (focus && !gtk_widget_is_sensitive (focus)) return;