summaryrefslogtreecommitdiff
path: root/src/xfns.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/xfns.c')
-rw-r--r--src/xfns.c8
1 files changed, 8 insertions, 0 deletions
diff --git a/src/xfns.c b/src/xfns.c
index 02994e1b94f..c490dc1802a 100644
--- a/src/xfns.c
+++ b/src/xfns.c
@@ -3198,6 +3198,14 @@ xic_preedit_draw_callback (XIC xic, XPointer client_data,
if (!output->preedit_active)
return;
+ /* If we don't bail out here then GTK can crash
+ from the resulting signal in `setup_coding_system'. */
+ if (NILP (Fcoding_system_p (Vlocale_coding_system)))
+ {
+ text = NULL;
+ goto im_abort;
+ }
+
if (call_data->text)
text = x_xim_text_to_utf8_unix (call_data->text, &text_length);
else