From 001702b07eab210b38785c7e52c41c3816f6bd2f Mon Sep 17 00:00:00 2001 From: Jihoon Kim Date: Thu, 6 Jan 2011 15:18:40 +0900 Subject: [PATCH] [entry] revert --- src/lib/edje_entry.c | 11 +++++++++-- 1 file changed, 9 insertions(+), 2 deletions(-) diff --git a/src/lib/edje_entry.c b/src/lib/edje_entry.c index 3354f6b..7911b53 100644 --- a/src/lib/edje_entry.c +++ b/src/lib/edje_entry.c @@ -64,6 +64,7 @@ struct _Entry Eina_Bool autocapital : 1; Eina_Bool uppercase : 1; Eina_Bool autoperiod : 1; + Eina_Bool need_commit : 1; int select_dragging_state; double space_key_time; @@ -2543,6 +2544,7 @@ _edje_entry_real_part_init(Edje_Real_Part *rp) rp->entry_data = en; en->rp = rp; en->autoperiod = EINA_TRUE; + en->need_commit = EINA_TRUE; #ifdef HAVE_ECORE_IMF en->input_panel_enable = _edje_input_panel_enable; @@ -2818,11 +2820,10 @@ _edje_entry_text_markup_set(Edje_Real_Part *rp, const char *text) #ifdef HAVE_ECORE_IMF if ((en->have_preedit) && (en->imf_context)) { + en->need_commit = EINA_FALSE; ecore_imf_context_reset(en->imf_context); - ecore_main_loop_iterate(); } #endif - evas_object_textblock_text_markup_set(rp->object, text); _anchors_get(en->cursor, rp->object, en); @@ -3567,6 +3568,12 @@ _edje_entry_imf_event_commit_cb(void *data, int type __UNUSED__, void *event) } } + if (!en->need_commit) + { + en->need_commit = EINA_TRUE; + return ECORE_CALLBACK_PASS_ON; + } + tc = evas_object_textblock_cursor_new(rp->object); /* calculate the cursor position to insert commit string */ -- 2.7.4