summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChunEon Park <hermet@hermet.pe.kr>2014-08-15 17:44:13 +0900
committerChunEon Park <hermet@hermet.pe.kr>2014-08-15 17:44:13 +0900
commit4d7622537f92cbf820fcaf41b4f9360e8f27359c (patch)
tree4119796be80a0fb31f85ac1ba1054678dfaab415
parentc1b88acaddec43db699c807fa3342c92bf59a93b (diff)
entry: fix clearing selection region problem while it's already selected.
if entry has selection, it would be cleared if selection region set is requested again. because entry cancel the selection area after it reset the selection area. unfortunately, the selection area is new selection so selection area is gone. this patch prevent clearing selection and keep the new selection. @fix
-rw-r--r--src/lib/elm_entry.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/src/lib/elm_entry.c b/src/lib/elm_entry.c
index 4a2cfaf19..f0df3468d 100644
--- a/src/lib/elm_entry.c
+++ b/src/lib/elm_entry.c
@@ -3972,6 +3972,11 @@ _elm_entry_select_region_set(Eo *obj EINA_UNUSED, Elm_Entry_Data *sd, int start,
3972 edje_object_signal_emit(sd->entry_edje, "elm,state,select,off", "elm"); 3972 edje_object_signal_emit(sd->entry_edje, "elm,state,select,off", "elm");
3973 } 3973 }
3974 3974
3975 /* Set have selection false to not be cleared handler in
3976 selection_cleared_signal_cb() since that callback will be called while
3977 resetting edje text. */
3978 sd->have_selection = EINA_FALSE;
3979
3975 edje_object_part_text_cursor_pos_set(sd->entry_edje, "elm.text", EDJE_CURSOR_MAIN, start); 3980 edje_object_part_text_cursor_pos_set(sd->entry_edje, "elm.text", EDJE_CURSOR_MAIN, start);
3976 edje_object_part_text_select_begin(sd->entry_edje, "elm.text"); 3981 edje_object_part_text_select_begin(sd->entry_edje, "elm.text");
3977 edje_object_part_text_cursor_pos_set(sd->entry_edje, "elm.text", EDJE_CURSOR_MAIN, end); 3982 edje_object_part_text_cursor_pos_set(sd->entry_edje, "elm.text", EDJE_CURSOR_MAIN, end);