summaryrefslogtreecommitdiff
path: root/gtk/gtkimmulticontext.c
diff options
context:
space:
mode:
authorBenjamin Otte <otte@redhat.com>2019-01-08 00:22:14 +0100
committerBenjamin Otte <otte@redhat.com>2019-01-08 00:41:12 +0100
commitca76675a6948ea113e15d7b455f2de2cd69ab26b (patch)
treea9a38d6356048a39885a8b6641905b9f7ae6fcb2 /gtk/gtkimmulticontext.c
parent16d4ce4d0301b7af2a67703e792efdcf27b1d397 (diff)
downloadgtk+-ca76675a6948ea113e15d7b455f2de2cd69ab26b.tar.gz
immodule: Pass a GdkDisplay for default context ID
After all, the context depends on the display - we want to use the wayland context for Wayland, xim for X11 and so on.
Diffstat (limited to 'gtk/gtkimmulticontext.c')
-rw-r--r--gtk/gtkimmulticontext.c8
1 files changed, 7 insertions, 1 deletions
diff --git a/gtk/gtkimmulticontext.c b/gtk/gtkimmulticontext.c
index aae9b6d0ae..e075adfbc3 100644
--- a/gtk/gtkimmulticontext.c
+++ b/gtk/gtkimmulticontext.c
@@ -244,11 +244,17 @@ static const gchar *
get_effective_context_id (GtkIMMulticontext *multicontext)
{
GtkIMMulticontextPrivate *priv = multicontext->priv;
+ GdkDisplay *display;
if (priv->context_id_aux)
return priv->context_id_aux;
- return _gtk_im_module_get_default_context_id ();
+ if (priv->client_widget)
+ display = gtk_widget_get_display (priv->client_widget);
+ else
+ display = gdk_display_get_default ();
+
+ return _gtk_im_module_get_default_context_id (display);
}
static GtkIMContext *