summaryrefslogtreecommitdiff
path: root/gtk/gtkimcontextwayland.c
diff options
context:
space:
mode:
authorGuido Günther <agx@sigxcpu.org>2022-01-18 14:22:24 +0100
committerCarlos Garnacho <carlosg@gnome.org>2022-01-19 10:20:46 +0000
commit45397534eb5cc12e8c353ddd18a888e21c91f8d9 (patch)
tree23900d7ec7b1dca6184ceba101afc8caba201e4d /gtk/gtkimcontextwayland.c
parent6fd29e6600a78a0fe877c455faf1620be4917673 (diff)
downloadgtk+-45397534eb5cc12e8c353ddd18a888e21c91f8d9.tar.gz
gtkimcontextwayland: Save context even when text_input isn't around yet
Remember the current context on focus-in even though the text-input isn't set up yet. This helps in the case where the text-input is not yet created but a widget already got focused. Without that the enable() invocation in text_input_enter() woulnd't be invoked leaving the input method disabled. This fixes gtk4-demo --run=search_entry which would initially not show the on-screen keyboard when e.g using phoc/sway as compositor.
Diffstat (limited to 'gtk/gtkimcontextwayland.c')
-rw-r--r--gtk/gtkimcontextwayland.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gtk/gtkimcontextwayland.c b/gtk/gtkimcontextwayland.c
index 8b372d048f..60e1e466bf 100644
--- a/gtk/gtkimcontextwayland.c
+++ b/gtk/gtkimcontextwayland.c
@@ -794,12 +794,13 @@ gtk_im_context_wayland_focus_in (GtkIMContext *context)
global = gtk_im_context_wayland_global_get (gtk_widget_get_display (self->widget));
if (global->current == context)
return;
+
+ global->current = context;
if (!global->text_input)
return;
if (self->gesture)
gtk_event_controller_reset (GTK_EVENT_CONTROLLER (self->gesture));
- global->current = context;
if (global->focused)
enable (self, global);