summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChristoph Reiter <creiter@src.gnome.org>2018-03-04 18:40:12 +0100
committerChristoph Reiter <creiter@src.gnome.org>2018-03-04 18:40:12 +0100
commit8c2c748c1171009f8a063aec2fe1f2d193be682c (patch)
treecb7a08d0651d5bf35b2deb9fa6443636a29e3752
parent331c4b5954d7a460da690c6b86d902c77bf35220 (diff)
downloadgtk+-8c2c748c1171009f8a063aec2fe1f2d193be682c.tar.gz
gtkimcontextxim: fix gtk_im_context_xim_set_client_widget not handling widget=NULL
gtk_im_context_set_client_widget() allows passing NULL as widget to signal that the widget no longer exists. The xim implementation didn't handle that case which led to the test suite on gitlab-ci failing.
-rw-r--r--gtk/gtkimcontextxim.c7
1 files changed, 5 insertions, 2 deletions
diff --git a/gtk/gtkimcontextxim.c b/gtk/gtkimcontextxim.c
index 15e3cce131..8c84c54146 100644
--- a/gtk/gtkimcontextxim.c
+++ b/gtk/gtkimcontextxim.c
@@ -575,9 +575,12 @@ gtk_im_context_xim_set_client_widget (GtkIMContext *context,
GtkWidget *widget)
{
GtkIMContextXIM *context_xim = GTK_IM_CONTEXT_XIM (context);
- GtkWidget *toplevel = gtk_widget_get_toplevel (widget);
+ GdkWindow *window = NULL;
- set_ic_client_window (context_xim, gtk_widget_get_window (toplevel));
+ if (widget != NULL)
+ window = gtk_widget_get_window (gtk_widget_get_toplevel (widget));
+
+ set_ic_client_window (context_xim, window);
}
GtkIMContext *