jihoon pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=59e0d9712d3bea5ac9e79d853433b1b4924e5cfa

commit 59e0d9712d3bea5ac9e79d853433b1b4924e5cfa
Author: Jihoon Kim <jihoon48....@samsung.com>
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);
 }

-- 


Reply via email to