summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJihoon Kim <jihoon48.kim@samsung.com>2014-11-13 15:36:46 +0900
committerJihoon Kim <jihoon48.kim@samsung.com>2014-11-13 15:38:34 +0900
commit2d38d07a656ed878835f4c35a5e8e54509e454d7 (patch)
treef0f97228b9de4e3b3f7472898c5e362cfcdbbde6
parent036bc3409dbd58d612cdc9f3c56f52b88704162b (diff)
Fix bug ecore_imf_context_cursor_position_set was not called when cursor was moved by ECORE_IMF_CALLBACK_SELECTION_SET
@fix
-rw-r--r--src/lib/edje/edje_entry.c21
1 files changed, 13 insertions, 8 deletions
diff --git a/src/lib/edje/edje_entry.c b/src/lib/edje/edje_entry.c
index da7ae5ca43..9f871d7f19 100644
--- a/src/lib/edje/edje_entry.c
+++ b/src/lib/edje/edje_entry.c
@@ -4295,14 +4295,19 @@ _edje_entry_imf_event_selection_set_cb(void *data, Ecore_IMF_Context *ctx EINA_U
4295 (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_SELECTABLE)) 4295 (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_SELECTABLE))
4296 return; 4296 return;
4297 4297
4298 _edje_entry_imf_context_reset(rp); 4298 if (ev->start == ev->end)
4299 4299 {
4300 _sel_clear(ed, en->cursor, rp->object, en); 4300 _edje_entry_cursor_pos_set(rp, EDJE_CURSOR_MAIN, ev->start);
4301 evas_textblock_cursor_pos_set(en->cursor, ev->start); 4301 }
4302 _sel_enable(ed, en->cursor, rp->object, en); 4302 else
4303 _sel_start(en->cursor, rp->object, en); 4303 {
4304 evas_textblock_cursor_pos_set(en->cursor, ev->end); 4304 _sel_clear(ed, en->cursor, rp->object, en);
4305 _sel_extend(ed, en->cursor, rp->object, en); 4305 evas_textblock_cursor_pos_set(en->cursor, ev->start);
4306 _sel_enable(ed, en->cursor, rp->object, en);
4307 _sel_start(en->cursor, rp->object, en);
4308 evas_textblock_cursor_pos_set(en->cursor, ev->end);
4309 _sel_extend(ed, en->cursor, rp->object, en);
4310 }
4306 4311
4307 _edje_entry_real_part_configure(en->ed, rp); 4312 _edje_entry_real_part_configure(en->ed, rp);
4308} 4313}