summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Clasen <mclasen@redhat.com>2019-06-21 20:56:29 +0000
committerMatthias Clasen <mclasen@redhat.com>2019-06-24 22:40:29 +0000
commit00e68fcae2692e1cd4b80223aa73a0ad4e66b92d (patch)
tree8786824c5362c82c77d0a95a3447be69bdb6c821
parent9038b7a8c53b4064d798b4fd73b837ab1ecd667e (diff)
downloadgtk+-00e68fcae2692e1cd4b80223aa73a0ad4e66b92d.tar.gz
widget: Unset propagation limits for shortcut managers
These controllers are meant to be global and thus should be able to react to events that are getting routed to open popovers. This makes shortcuts in open popover menus work.
-rw-r--r--gtk/gtkwidget.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/gtk/gtkwidget.c b/gtk/gtkwidget.c
index 3eb9f50c71..32df89e445 100644
--- a/gtk/gtkwidget.c
+++ b/gtk/gtkwidget.c
@@ -2881,12 +2881,14 @@ gtk_widget_init (GTypeInstance *instance, gpointer g_class)
g_object_set_data_full (G_OBJECT (widget), "gtk-shortcut-manager-bubble", model, g_object_unref);
controller = gtk_shortcut_controller_new_for_model (G_LIST_MODEL (model));
gtk_event_controller_set_name (controller, "shortcut manager bubble");
+ gtk_event_controller_set_propagation_limit (controller, GTK_LIMIT_NONE);
gtk_widget_add_controller (widget, controller);
model = gtk_concat_model_new (GTK_TYPE_SHORTCUT);
g_object_set_data_full (G_OBJECT (widget), "gtk-shortcut-manager-capture", model, g_object_unref);
controller = gtk_shortcut_controller_new_for_model (G_LIST_MODEL (model));
gtk_event_controller_set_name (controller, "shortcut manager capture");
+ gtk_event_controller_set_propagation_limit (controller, GTK_LIMIT_NONE);
gtk_event_controller_set_propagation_phase (controller, GTK_PHASE_CAPTURE);
gtk_widget_add_controller (widget, controller);
}