From: Peter Bloomfield Date: Mon, 12 Mar 2018 21:46:57 +0000 (-0400) Subject: gtkimmodule: make match_backend() query the wayland registry X-Git-Tag: archive/raspbian/3.22.29-2+rpi1^2~4 X-Git-Url: https://dgit.raspbian.org/?a=commitdiff_plain;h=50ffc6c0ce93674f83c032a617a7e01f39651df7;p=gtk%2B3.0.git 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 Gbp-Pq: Name 0009-gtkimmodule-make-match_backend-query-the-wayland-reg.patch --- diff --git a/gtk/gtkimmodule.c b/gtk/gtkimmodule.c index 018723fd4d..93c1bea0ad 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