[gtk] popovermenu: Only close if there's a new focus widget
- From: Timm Bäder <baedert src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk] popovermenu: Only close if there's a new focus widget
- Date: Wed, 9 Oct 2019 15:02:08 +0000 (UTC)
commit fb1145d72d241c2054a8ff4664f1ceedc317dfc0
Author: Timm Bäder <mail baedert org>
Date: Sun Oct 6 12:50:22 2019 +0200
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)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]