diff --git a/gtk/gtkimmulticontext.c b/gtk/gtkimmulticontext.c index 863f862428..b7a40a1f4b 100644 --- a/gtk/gtkimmulticontext.c +++ b/gtk/gtkimmulticontext.c @@ -189,6 +189,12 @@ gtk_im_multicontext_set_slave (GtkIMMulticontext *multicontext, g_signal_handlers_disconnect_by_func (priv->slave, gtk_im_multicontext_commit_cb, multicontext); + g_signal_handlers_disconnect_by_func (priv->slave, + gtk_im_multicontext_retrieve_surrounding_cb, + multicontext); + g_signal_handlers_disconnect_by_func (priv->slave, + gtk_im_multicontext_delete_surrounding_cb, + multicontext); g_object_unref (priv->slave); priv->slave = NULL;