[gtk/shortcuts-rebased-again: 163/171] popovermenu: Actually listen to focus change
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/shortcuts-rebased-again: 163/171] popovermenu: Actually listen to focus change
- Date: Mon, 24 Jun 2019 23:18:11 +0000 (UTC)
commit bf56f1a8c563a8f545b72b04259688abd37f0607
Author: Matthias Clasen <mclasen redhat com>
Date: Mon Jun 24 02:56:39 2019 +0000
popovermenu: Actually listen to focus change
As it turns out, capture phase controllers
don't see any crossing events, so we need to
use separate controllers for key presses and
focus change.
gtk/gtkpopovermenu.c | 6 +++++-
1 file changed, 5 insertions(+), 1 deletion(-)
---
diff --git a/gtk/gtkpopovermenu.c b/gtk/gtkpopovermenu.c
index 846c123e59..d3b586214c 100644
--- a/gtk/gtkpopovermenu.c
+++ b/gtk/gtkpopovermenu.c
@@ -222,10 +222,14 @@ gtk_popover_menu_init (GtkPopoverMenu *popover)
controller = gtk_event_controller_key_new ();
gtk_event_controller_set_propagation_phase (controller, GTK_PHASE_CAPTURE);
- g_signal_connect (controller, "focus-out", G_CALLBACK (focus_out), popover);
g_signal_connect (controller, "key-pressed", G_CALLBACK (key_pressed), popover);
gtk_widget_add_controller (GTK_WIDGET (popover), controller);
+ controller = gtk_event_controller_key_new ();
+ gtk_event_controller_set_propagation_phase (controller, GTK_PHASE_BUBBLE);
+ g_signal_connect (controller, "focus-out", G_CALLBACK (focus_out), popover);
+ gtk_widget_add_controller (GTK_WIDGET (popover), controller);
+
/* Trigger mnemonics without Alt */
controllers = _gtk_widget_list_controllers (GTK_WIDGET (popover), GTK_PHASE_CAPTURE);
for (l = controllers; l; l = l->next)
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]