Hello, EFL developers.

 

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.

 

Would you please review this patch and apply in svn?

Index: edje_entry.c
===================================================================
--- edje_entry.c        (revision 59518)
+++ edje_entry.c        (working copy)
@@ -2033,6 +2033,13 @@ _edje_entry_text_markup_set(Edje_Real_Part *rp, co
    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);

------------------------------------------------------------------------------
What Every C/C++ and Fortran developer Should Know!
Read this article and learn how Intel has extended the reach of its 
next-generation tools to help Windows* and Linux* C/C++ and Fortran 
developers boost performance applications - including clusters. 
http://p.sf.net/sfu/intel-dev2devmay
_______________________________________________
enlightenment-devel mailing list
enlightenment-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to