diff options
Diffstat (limited to 'widgets/text/e-text.c')
-rw-r--r-- | widgets/text/e-text.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/widgets/text/e-text.c b/widgets/text/e-text.c index b57cec835d..d7afd1df5d 100644 --- a/widgets/text/e-text.c +++ b/widgets/text/e-text.c @@ -174,7 +174,16 @@ static gboolean e_text_delete_surrounding_cb (GtkIMContext *context, static GdkAtom clipboard_atom = GDK_NONE; - +static void +disconnect_im_context (EText *text) +{ + if (!text || !text->im_context) + return; + + g_signal_handlers_disconnect_matched ( + text->im_context, G_SIGNAL_MATCH_DATA, 0, 0, NULL, NULL, text); + text->im_context_signals_registered = FALSE; +} static void disconnect_im_context (EText *text) |