gtkimmodule: make match_backend() query the wayland registry
authorPeter Bloomfield <PeterBloomfield@bellsouth.net>
Mon, 12 Mar 2018 21:46:57 +0000 (17:46 -0400)
committerSimon McVittie <smcv@debian.org>
Thu, 22 Mar 2018 10:15:24 +0000 (10:15 +0000)
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

gtk/gtkimmodule.c

index 018723fd4deecb270235c1706d76d0467a8ded26..93c1bea0ada812d5ea3e38a1c5f1bd077024da21 100644 (file)
@@ -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