From d5121af876032af09bd9bc40cf6e4d01a9b3ea64 Mon Sep 17 00:00:00 2001 From: Matthias Clasen Date: Wed, 2 Sep 2020 10:26:13 -0400 Subject: [PATCH] text widgets: Don't lose focus after Emoji Make sure to grab focus back when the Emoji chooser disappears. This prevents focus going nowhere when the Emoji chooser is canceled. Fixes: #3112 --- gtk/gtktext.c | 1 + gtk/gtktextview.c | 1 + 2 files changed, 2 insertions(+) diff --git a/gtk/gtktext.c b/gtk/gtktext.c index a87f21b798..16968119bc 100644 --- a/gtk/gtktext.c +++ b/gtk/gtktext.c @@ -6825,6 +6825,7 @@ gtk_text_insert_emoji (GtkText *self) gtk_widget_set_parent (chooser, GTK_WIDGET (self)); g_signal_connect (chooser, "emoji-picked", G_CALLBACK (emoji_picked), self); + g_signal_connect_swapped (chooser, "hide", G_CALLBACK (gtk_widget_grab_focus), self); } gtk_popover_popup (GTK_POPOVER (chooser)); diff --git a/gtk/gtktextview.c b/gtk/gtktextview.c index 06caf5e3ee..5b0715befd 100644 --- a/gtk/gtktextview.c +++ b/gtk/gtktextview.c @@ -9637,6 +9637,7 @@ gtk_text_view_insert_emoji (GtkTextView *text_view) gtk_widget_set_parent (chooser, GTK_WIDGET (text_view)); g_signal_connect (chooser, "emoji-picked", G_CALLBACK (emoji_picked), text_view); + g_signal_connect_swapped (chooser, "hide", G_CALLBACK (gtk_widget_grab_focus), text_view); } buffer = get_buffer (text_view);