From: Timm Bäder Date: Sun, 6 Oct 2019 10:50:22 +0000 (+0200) Subject: popovermenu: Only close if there's a new focus widget X-Git-Tag: archive/raspbian/4.4.1+ds1-2+rpi1^2~18^2~20^2~770 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=fb1145d72d241c2054a8ff4664f1ceedc317dfc0;p=gtk4.git popovermenu: Only close if there's a new focus widget Makes sense and otherwise we end up closing the popover for no reason --- 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)