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:36:46 +0900
commit59e0d9712d3bea5ac9e79d853433b1b4924e5cfa (patch)
tree4957f537e7b3aa19247bd865271f05d75b49716a
parent05aee3e3706867605d3b1bb84c3a70ccafba0673 (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 61d38b8e90..f2a97ccf90 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
4333 (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_SELECTABLE)) 4333 (rp->part->entry_mode < EDJE_ENTRY_EDIT_MODE_SELECTABLE))
4334 return; 4334 return;
4335 4335
4336 _edje_entry_imf_context_reset(rp); 4336 if (ev->start == ev->end)
4337 4337 {
4338 _sel_clear(ed, en->cursor, rp->object, en); 4338 _edje_entry_cursor_pos_set(rp, EDJE_CURSOR_MAIN, ev->start);
4339 evas_textblock_cursor_pos_set(en->cursor, ev->start); 4339 }
4340 _sel_enable(ed, en->cursor, rp->object, en); 4340 else
4341 _sel_start(en->cursor, rp->object, en); 4341 {
4342 evas_textblock_cursor_pos_set(en->cursor, ev->end); 4342 _sel_clear(ed, en->cursor, rp->object, en);
4343 _sel_extend(ed, en->cursor, rp->object, en); 4343 evas_textblock_cursor_pos_set(en->cursor, ev->start);
4344 _sel_enable(ed, en->cursor, rp->object, en);
4345 _sel_start(en->cursor, rp->object, en);
4346 evas_textblock_cursor_pos_set(en->cursor, ev->end);
4347 _sel_extend(ed, en->cursor, rp->object, en);
4348 }
4344 4349
4345 _edje_entry_real_part_configure(en->ed, rp); 4350 _edje_entry_real_part_configure(en->ed, rp);
4346} 4351}