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.
This commit is contained in:
Guido Günther 2022-01-18 14:22:24 +01:00 committed by Carlos Garnacho
parent 6fd29e6600
commit 45397534eb

View File

@ -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);