summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTom Hacohen <tom@stosb.com>2016-06-13 11:29:36 +0100
committerTom Hacohen <tom@stosb.com>2016-06-13 11:29:36 +0100
commita763acdcca4433cb4fa0ce86296bc03480f951ba (patch)
tree106dac1b9dcb9533c29ed511974ffa1b6395b07e
parentf8a154f4d0f41222ca462fe4008a5a32758b275e (diff)
downloadefl-a763acdcca4433cb4fa0ce86296bc03480f951ba.tar.gz
Ui text interactive: Fix selection.
-rw-r--r--src/lib/elementary/efl_ui_internal_text_interactive.c19
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;