jihoon pushed a commit to branch efl-1.12. http://git.enlightenment.org/core/efl.git/commit/?id=9e7b3dde4adaa31e19a2fd6750414764d10d4910
commit 9e7b3dde4adaa31e19a2fd6750414764d10d4910 Author: Jihoon Kim <[email protected]> Date: Thu Nov 13 15:36:46 2014 +0900 Fix bug ecore_imf_context_cursor_position_set was not called when cursor was moved by ECORE_IMF_CALLBACK_SELECTION_SET @fix --- src/lib/edje/edje_entry.c | 21 +++++++++++++-------- 1 file changed, 13 insertions(+), 8 deletions(-) diff --git a/src/lib/edje/edje_entry.c b/src/lib/edje/edje_entry.c index 61d38b8..f2a97cc 100644 --- a/src/lib/edje/edje_entry.c +++ b/src/lib/edje/edje_entry.c @@ -4333,14 +4333,19 @@ _edje_entry_imf_event_selection_set_cb(void *data, Ecore_IMF_Context *ctx EINA_U (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_SELECTABLE)) return; - _edje_entry_imf_context_reset(rp); - - _sel_clear(ed, en->cursor, rp->object, en); - evas_textblock_cursor_pos_set(en->cursor, ev->start); - _sel_enable(ed, en->cursor, rp->object, en); - _sel_start(en->cursor, rp->object, en); - evas_textblock_cursor_pos_set(en->cursor, ev->end); - _sel_extend(ed, en->cursor, rp->object, en); + if (ev->start == ev->end) + { + _edje_entry_cursor_pos_set(rp, EDJE_CURSOR_MAIN, ev->start); + } + else + { + _sel_clear(ed, en->cursor, rp->object, en); + evas_textblock_cursor_pos_set(en->cursor, ev->start); + _sel_enable(ed, en->cursor, rp->object, en); + _sel_start(en->cursor, rp->object, en); + evas_textblock_cursor_pos_set(en->cursor, ev->end); + _sel_extend(ed, en->cursor, rp->object, en); + } _edje_entry_real_part_configure(en->ed, rp); } --
