diff options
author | Christoph Reiter <creiter@src.gnome.org> | 2018-03-04 18:40:12 +0100 |
---|---|---|
committer | Christoph Reiter <creiter@src.gnome.org> | 2018-03-04 18:40:12 +0100 |
commit | 8c2c748c1171009f8a063aec2fe1f2d193be682c (patch) | |
tree | cb7a08d0651d5bf35b2deb9fa6443636a29e3752 | |
parent | 331c4b5954d7a460da690c6b86d902c77bf35220 (diff) | |
download | gtk+-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.c | 7 |
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 * |