From fb1145d72d241c2054a8ff4664f1ceedc317dfc0 Mon Sep 17 00:00:00 2001 From: =?utf8?q?Timm=20B=C3=A4der?= Date: Sun, 6 Oct 2019 12:50:22 +0200 Subject: [PATCH] popovermenu: Only close if there's a new focus widget Makes sense and otherwise we end up closing the popover for no reason --- gtk/gtkpopovermenu.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/gtk/gtkpopovermenu.c b/gtk/gtkpopovermenu.c index fdc053e6e4..5249941a78 100644 --- a/gtk/gtkpopovermenu.c +++ b/gtk/gtkpopovermenu.c @@ -215,7 +215,10 @@ focus_out (GtkEventControllerKey *controller, GdkNotifyType detail, GtkPopoverMenu *menu) { - if (!gtk_event_controller_key_contains_focus (controller)) + GtkWidget *new_focus = gtk_root_get_focus (gtk_widget_get_root (GTK_WIDGET (menu))); + + if (!gtk_event_controller_key_contains_focus (controller) && + new_focus != NULL) { if (menu->parent_menu && GTK_POPOVER_MENU (menu->parent_menu)->open_submenu == (GtkWidget*) menu) -- 2.30.2