From 9b5dc35650a746d62e88d4115776fa4c14c0f9a3 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 9 Apr 2020 21:41:02 -0400 Subject: [PATCH 1/2] popovermenu: Remove debug spew --- gtk/gtkpopovermenu.c | 1 - 1 file changed, 1 deletion(-) diff --git a/gtk/gtkpopovermenu.c b/gtk/gtkpopovermenu.c index 12424e4bb2..457153598f 100644 --- a/gtk/gtkpopovermenu.c +++ b/gtk/gtkpopovermenu.c @@ -329,7 +329,6 @@ gtk_popover_menu_focus (GtkWidget *widget, { if (GTK_POPOVER_MENU (widget)->open_submenu) { - g_print ("open submenu\n"); if (gtk_widget_child_focus (GTK_POPOVER_MENU (widget)->open_submenu, direction)) return TRUE; if (direction == GTK_DIR_LEFT) From c09c61769c9d0050c39f8607d21c2f8911b3d332 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Thu, 9 Apr 2020 22:22:28 -0400 Subject: [PATCH 2/2] modelbutton: Catch focus-in more carefully We need to unset the propagation limit on the focus controller, else we miss the focus-in when the focus enters the popover upon initial popup, when it comes from the parent button. --- gtk/gtkmodelbutton.c | 1 + 1 file changed, 1 insertion(+) diff --git a/gtk/gtkmodelbutton.c b/gtk/gtkmodelbutton.c index 4cc292c980..90249bfedb 100644 --- a/gtk/gtkmodelbutton.c +++ b/gtk/gtkmodelbutton.c @@ -1387,6 +1387,7 @@ gtk_model_button_init (GtkModelButton *self) gtk_widget_add_controller (GTK_WIDGET (self), controller); controller = gtk_event_controller_focus_new (); + gtk_event_controller_set_propagation_limit (controller, GTK_LIMIT_NONE); g_signal_connect (controller, "enter", G_CALLBACK (focus_in_cb), NULL); gtk_widget_add_controller (GTK_WIDGET (self), controller);