From: raster Date: Tue, 26 Jul 2011 11:47:40 +0000 (+0000) Subject: segv if preedit str null! X-Git-Tag: accepted/2.0/20130306.224007~181^2~4 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=fe12b0a8169f4993093022fe6b360b54d57d26a3;p=profile%2Fivi%2Fecore.git segv if preedit str null! git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/ecore@61747 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- diff --git a/src/modules/immodules/xim/ecore_imf_xim.c b/src/modules/immodules/xim/ecore_imf_xim.c index d35eb70..bc8f3f8 100644 --- a/src/modules/immodules/xim/ecore_imf_xim.c +++ b/src/modules/immodules/xim/ecore_imf_xim.c @@ -177,12 +177,22 @@ _ecore_imf_context_xim_preedit_string_get(Ecore_IMF_Context *ctx, char *utf8; int len; imf_context_data = ecore_imf_context_data_get(ctx); - utf8 = eina_unicode_unicode_to_utf8(imf_context_data->preedit_chars, - &len); - if(str) - *str = utf8; + if (imf_context_data->preedit_chars) + { + utf8 = eina_unicode_unicode_to_utf8(imf_context_data->preedit_chars, + &len); + if(str) + *str = utf8; + else + free(utf8); + } else - free(utf8); + { + if(str) + *str = NULL; + if(cursor_pos) + *cursor_pos = 0; + } if(cursor_pos) *cursor_pos = imf_context_data->preedit_cursor;