diff options
author | Tom Hacohen <tom@stosb.com> | 2016-06-13 11:29:36 +0100 |
---|---|---|
committer | Tom Hacohen <tom@stosb.com> | 2016-06-13 11:29:36 +0100 |
commit | a763acdcca4433cb4fa0ce86296bc03480f951ba (patch) | |
tree | 106dac1b9dcb9533c29ed511974ffa1b6395b07e | |
parent | f8a154f4d0f41222ca462fe4008a5a32758b275e (diff) | |
download | efl-a763acdcca4433cb4fa0ce86296bc03480f951ba.tar.gz |
Ui text interactive: Fix selection.
-rw-r--r-- | src/lib/elementary/efl_ui_internal_text_interactive.c | 19 |
1 files changed, 8 insertions, 11 deletions
diff --git a/src/lib/elementary/efl_ui_internal_text_interactive.c b/src/lib/elementary/efl_ui_internal_text_interactive.c index 4ebdc2b17f..f913128537 100644 --- a/src/lib/elementary/efl_ui_internal_text_interactive.c +++ b/src/lib/elementary/efl_ui_internal_text_interactive.c @@ -516,19 +516,11 @@ _sel_cursor_changed(void *data, const Eo_Event *event EINA_UNUSED) } static void -_sel_init(Evas_Textblock_Cursor *c, Evas_Object *o, Efl_Ui_Internal_Text_Interactive_Data *en) +_sel_init(Evas_Textblock_Cursor *c, Evas_Object *o EINA_UNUSED, Efl_Ui_Internal_Text_Interactive_Data *en) { - if (en->sel_start) return; - en->sel_start = evas_object_textblock_cursor_new(o); evas_textblock_cursor_copy(c, en->sel_start); - en->sel_end = evas_object_textblock_cursor_new(o); evas_textblock_cursor_copy(c, en->sel_end); - eo_event_callback_add(en->sel_start, EFL_CANVAS_TEXT_CURSOR_EVENT_CHANGED, - _sel_cursor_changed, o); - eo_event_callback_add(en->sel_end, EFL_CANVAS_TEXT_CURSOR_EVENT_CHANGED, - _sel_cursor_changed, o); - en->have_selection = EINA_FALSE; if (en->selection) { @@ -1322,8 +1314,13 @@ _efl_ui_internal_text_interactive_eo_base_finalize(Eo *obj, Efl_Ui_Internal_Text evas_object_event_callback_add(obj, EVAS_CALLBACK_MOUSE_UP, _mouse_up_cb, NULL); evas_object_event_callback_add(obj, EVAS_CALLBACK_MOUSE_MOVE, _mouse_move_cb, NULL); - Efl_Canvas_Text_Cursor *cur = efl_canvas_text_cursor_get(obj); - _sel_init(cur, obj, en); + en->sel_start = evas_object_textblock_cursor_new(obj); + en->sel_end = evas_object_textblock_cursor_new(obj); + + eo_event_callback_add(en->sel_start, EFL_CANVAS_TEXT_CURSOR_EVENT_CHANGED, + _sel_cursor_changed, obj); + eo_event_callback_add(en->sel_end, EFL_CANVAS_TEXT_CURSOR_EVENT_CHANGED, + _sel_cursor_changed, obj); en->input_panel_enable = EINA_TRUE; |