From: Peter Bloomfield Date: Mon, 12 Mar 2018 17:46:57 -0400 Subject: gtkimmodule: make match_backend() query the wayland registry Wnen _gtk_im_module_get_default_context_id calls match_backend (context_id) and the default GdkDisplay is wayland, match_backend() should return TRUE only if gdk_wayland_display_query_registry (display, "gtk_text_input_manager") returns TRUE. Origin: upstream, 3.22.30, commit:6e2d14037cea356638a9bea7b611cbe23bc90b47 Bug: https://gitlab.gnome.org/GNOME/gtk/issues/114 Bug-Debian: https://bugs.debian.org/cgi-bin/bugreport.cgi?bug=893696 --- gtk/gtkimmodule.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/gtk/gtkimmodule.c b/gtk/gtkimmodule.c index 018723f..93c1bea 100644 --- a/gtk/gtkimmodule.c +++ b/gtk/gtkimmodule.c @@ -697,7 +697,13 @@ match_backend (GtkIMContextInfo *context) { #ifdef GDK_WINDOWING_WAYLAND if (g_strcmp0 (context->context_id, "wayland") == 0) - return GDK_IS_WAYLAND_DISPLAY (gdk_display_get_default ()); + { + GdkDisplay *display = gdk_display_get_default (); + + return GDK_IS_WAYLAND_DISPLAY (display) && + gdk_wayland_display_query_registry (display, + "gtk_text_input_manager"); + } #endif #ifdef GDK_WINDOWING_BROADWAY