From: Jihoon Kim <jihoon48.kim@samsung.com>

When elm_entry_entry_set() is called, the preedit text in the entry should
be cleared. ATM, it doesn’t works so.

This patch will resolve this problem.
 
When ecore_imf_context_reset() is called, the preedit text in the immodule
will be committed by calling ‘ecore_imf_context_commit_event_add()’.

ecore_imf_context_commit_event_add puts the event in ecore event queue, so
it will be processed in the idle state of ecore loop.

According to this mechanism, commit text is inserted later, so I use
‘ecore_main_loop_iterate();’ for inserting the commit string instantly.



SVN revision: 59732
This commit is contained in:
Jihoon Kim 2011-05-27 10:46:51 +00:00 committed by Carsten Haitzler
parent 66aef5074f
commit 4ad4fadb35
1 changed files with 7 additions and 0 deletions

View File

@ -2035,6 +2035,13 @@ _edje_entry_text_markup_set(Edje_Real_Part *rp, const char *text)
Entry *en = rp->entry_data;
if (!en) return;
#ifdef HAVE_ECORE_IMF
if ((en->have_preedit) && (en->imf_context))
{
ecore_imf_context_reset(en->imf_context);
ecore_main_loop_iterate();
}
#endif
// set text as markup
_sel_clear(en->cursor, rp->object, en);
evas_object_textblock_text_markup_set(rp->object, text);