From 573636d84a2b3b2196891de97a0e6df0f1b6c5d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Nelson=20Ben=C3=ADtez=20Le=C3=B3n?= Date: Sun, 21 Aug 2022 15:19:37 -0400 Subject: Fix open location entry when pressing '~' Recent changes in GTK default input method makes ~ char to start as dead key, that's why filechooser stopped detecting it for the keybinding to open location entry. We also make sure '~' appears in the location entry (instead of being emtpy). Fixes #4911 for GTK3 --- gtk/gtkfilechooserwidget.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'gtk') diff --git a/gtk/gtkfilechooserwidget.c b/gtk/gtkfilechooserwidget.c index 6a29f3fcf8..0496fd2f35 100644 --- a/gtk/gtkfilechooserwidget.c +++ b/gtk/gtkfilechooserwidget.c @@ -1332,6 +1332,7 @@ should_trigger_location_entry (GtkFileChooserWidget *impl, || event->keyval == GDK_KEY_period #ifdef G_OS_UNIX || event->keyval == GDK_KEY_asciitilde + || event->keyval == GDK_KEY_dead_tilde #endif ) && !(event->state & no_text_input_mask)) return TRUE; @@ -1348,6 +1349,7 @@ browse_files_key_press_event_cb (GtkWidget *widget, GdkEventKey *event, gpointer data) { + gchar *path; GtkFileChooserWidget *impl = (GtkFileChooserWidget *) data; GtkFileChooserWidgetPrivate *priv = impl->priv; @@ -1358,7 +1360,8 @@ browse_files_key_press_event_cb (GtkWidget *widget, (priv->action == GTK_FILE_CHOOSER_ACTION_OPEN || priv->action == GTK_FILE_CHOOSER_ACTION_SELECT_FOLDER)) { - location_popup_handler (impl, event->string); + path = event->keyval == GDK_KEY_dead_tilde ? "~" : event->string; + location_popup_handler (impl, path); return TRUE; } -- cgit v1.2.1