forked from enlightenment/efl
Fix bug ecore_imf_context_cursor_position_set was not called when cursor was moved by ECORE_IMF_CALLBACK_SELECTION_SET
@fix
This commit is contained in:
parent
05aee3e370
commit
59e0d9712d
|
@ -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);
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue