gtkimmodule: make match_backend() query
authorPeter Bloomfield <PeterBloomfield@bellsouth.net>
Mon, 12 Mar 2018 21:46:57 +0000 (17:46 -0400)
committerCarlos Garnacho <carlosg@gnome.org>
Tue, 20 Mar 2018 14:56:53 +0000 (15:56 +0100)
…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.

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