Fix bug ecore_imf_context_cursor_position_set was not called when cursor was moved...
authorJihoon Kim <jihoon48.kim@samsung.com>
Thu, 13 Nov 2014 06:36:46 +0000 (15:36 +0900)
committerJihoon Kim <jihoon48.kim@samsung.com>
Thu, 13 Nov 2014 06:36:46 +0000 (15:36 +0900)
@fix

src/lib/edje/edje_entry.c

index 61d38b8..f2a97cc 100644 (file)
@@ -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);
 }