From 8fd5f7fbfebf53c2b9005c788887f7f66c6a7766 Mon Sep 17 00:00:00 2001 From: mike_m Date: Thu, 28 Jul 2011 12:01:04 +0000 Subject: [PATCH] ecore-imf: Don't crash if no XIM is present Signed-off-by: Mike McCormack git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@61850 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/modules/immodules/xim/ecore_imf_xim.c | 18 ++++++++++++------ 1 file changed, 12 insertions(+), 6 deletions(-) diff --git a/src/modules/immodules/xim/ecore_imf_xim.c b/src/modules/immodules/xim/ecore_imf_xim.c index b92769b..795b98f 100644 --- a/src/modules/immodules/xim/ecore_imf_xim.c +++ b/src/modules/immodules/xim/ecore_imf_xim.c @@ -901,10 +901,13 @@ get_ic(Ecore_IMF_Context *ctx) } im_style |= XIMStatusNothing; - ic = XCreateIC(im_info->im, - XNInputStyle, im_style, - XNClientWindow, imf_context_data->win, - name, preedit_attr, NULL); + if (im_info->im) + { + ic = XCreateIC(im_info->im, + XNInputStyle, im_style, + XNClientWindow, imf_context_data->win, + name, preedit_attr, NULL); + } XFree(preedit_attr); if(ic) { @@ -1093,8 +1096,11 @@ xim_instantiate_callback(Display *display, im = XOpenIM(display, NULL, NULL, NULL); - if(!im) - return; + if (!im) + { + fprintf(stderr, "Failed to connect to IM\n"); + return; + } info->im = im; setup_im (info); -- 2.7.4