[gtk/shortcuts-rebased-again: 151/159] popovermenu: Actually listen to focus change
- From: Matthias Clasen <matthiasc src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gtk/shortcuts-rebased-again: 151/159] popovermenu: Actually listen to focus change
- Date: Mon, 24 Jun 2019 11:47:50 +0000 (UTC)
commit 6eb53e24e3e33f71a12d118f6ef2218284fc5503
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]