forked from AuroraMiddleware/gtk
Propagate key events when the location entry is focused
Fixes https://gitlab.gnome.org/GNOME/gtk/-/issues/4880
This commit is contained in:
parent
b3f04413b4
commit
1af7cde1a8
@ -7740,6 +7740,14 @@ captured_key (GtkEventControllerKey *controller,
|
|||||||
if (keyval == GDK_KEY_slash)
|
if (keyval == GDK_KEY_slash)
|
||||||
return GDK_EVENT_PROPAGATE;
|
return GDK_EVENT_PROPAGATE;
|
||||||
|
|
||||||
|
if (impl->location_entry)
|
||||||
|
{
|
||||||
|
GtkWidget *focus = gtk_root_get_focus (gtk_widget_get_root (GTK_WIDGET (impl)));
|
||||||
|
|
||||||
|
if (focus && gtk_widget_is_ancestor (focus, impl->location_entry))
|
||||||
|
return GDK_EVENT_PROPAGATE;
|
||||||
|
}
|
||||||
|
|
||||||
handled = gtk_event_controller_key_forward (controller, GTK_WIDGET (impl->search_entry));
|
handled = gtk_event_controller_key_forward (controller, GTK_WIDGET (impl->search_entry));
|
||||||
if (handled == GDK_EVENT_STOP)
|
if (handled == GDK_EVENT_STOP)
|
||||||
operation_mode_set (impl, OPERATION_MODE_SEARCH);
|
operation_mode_set (impl, OPERATION_MODE_SEARCH);
|
||||||
|
Loading…
Reference in New Issue
Block a user