It's wate of time to describe the scneario.
Rather than that, I'd like to discuss this change with the original aurthor.
Please ping me, Jiwon to investigate the problem together.
 

-----Original Message-----
From: "Hermet Park"<[email protected]> 
To: <[email protected]>; 
Cc: 
Sent: 2016-07-07 (목) 11:16:43
Subject: [EGIT] [core/efl] master 01/01: Revert "elm_entry: remove unnecessary 
text clearing in text_set"
 
hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=a099b6d2b3f0fd6e0b96167c7075bce8843b1b80

commit a099b6d2b3f0fd6e0b96167c7075bce8843b1b80
Author: Hermet Park <[email protected]>
Date:   Thu Jul 7 11:13:05 2016 +0900

    Revert "elm_entry: remove unnecessary text clearing in text_set"
    
    This reverts commit 38db4b4c0397ce599d5c50859d8431fbbdff284c.
    
    This changes entry behavior that introduce enventor break.
    Can't accept it until that break is reasonable.
---
 src/bin/elementary/test_entry.c  64 -----------------------------------------
 src/lib/elementary/elm_entry.c   18 ++----------
 2 files changed, 2 insertions(+), 80 deletions(-)

diff --git a/src/bin/elementary/test_entry.c b/src/bin/elementary/test_entry.c
index 4b1a020..b94c525 100644
--- a/src/bin/elementary/test_entry.c
+++ b/src/bin/elementary/test_entry.c
@@ -1811,45 +1811,10 @@ test_entry4(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_in
    evas_object_show(win);
 }
 
-static void
-_entry_changed_cb(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED,
-                    void *event_info EINA_UNUSED)
-{
-   printf("entry is changed\n");
-}
-
-#define ELM_ENTRY_CHUNK_SIZE 10000
-static void
-my_ent_set_chunk(void *data, Evas_Object *obj EINA_UNUSED, void *event_info 
EINA_UNUSED)
-{
-   Evas_Object *en = data;
-   char *buf = calloc((ELM_ENTRY_CHUNK_SIZE + 1), sizeof(char));
-   int i;
-   for (i = 0; i < ELM_ENTRY_CHUNK_SIZE; i++)
-     buf[i] = '1';
-
-   printf("set %d length of text\n", ELM_ENTRY_CHUNK_SIZE);
-   elm_entry_entry_set(en, buf);
-}
-
-static void
-my_ent_set_long(void *data, Evas_Object *obj EINA_UNUSED, void *event_info 
EINA_UNUSED)
-{
-   Evas_Object *en = data;
-   char *buf = calloc((ELM_ENTRY_CHUNK_SIZE + 2), sizeof(char));
-   int i;
-   for (i = 0; i < (ELM_ENTRY_CHUNK_SIZE + 1); i++)
-     buf[i] = '1';
-
-   printf("set %d length of text\n", ELM_ENTRY_CHUNK_SIZE + 1);
-   elm_entry_entry_set(en, buf);
-}
-
 void
 test_entry5(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void 
*event_info EINA_UNUSED)
 {
    Evas_Object *win, *bx, *bx2, *bt, *en;
-   char buf[10];
 
    win = elm_win_util_standard_add("entry5", "Entry 5");
    elm_win_autodel_set(win, EINA_TRUE);
@@ -1875,7 +1840,6 @@ test_entry5(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_in
                        "good testing to see if entry widgets work as 
advertised."
                       );
    evas_object_smart_callback_add(en, "anchor,clicked", scrolled_anchor_test, 
en);
-   evas_object_smart_callback_add(en, "changed", _entry_changed_cb, NULL);
    elm_box_pack_end(bx, en);
    evas_object_show(en);
 
@@ -2109,34 +2073,6 @@ test_entry5(void *data EINA_UNUSED, Evas_Object *obj 
EINA_UNUSED, void *event_in
    elm_box_pack_end(bx, bx2);
    evas_object_show(bx2);
 
-   bx2 = elm_box_add(win);
-   elm_box_horizontal_set(bx2, EINA_TRUE);
-   evas_object_size_hint_weight_set(bx2, EVAS_HINT_EXPAND, 0.0);
-   evas_object_size_hint_align_set(bx2, EVAS_HINT_FILL, EVAS_HINT_FILL);
-
-   bt = elm_button_add(win);
-   snprintf(buf, 10, "set %d", ELM_ENTRY_CHUNK_SIZE);
-   elm_object_text_set(bt, buf);
-   evas_object_smart_callback_add(bt, "clicked", my_ent_set_chunk, en);
-   evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
-   elm_box_pack_end(bx2, bt);
-   elm_object_focus_allow_set(bt, EINA_FALSE);
-   evas_object_show(bt);
-
-   bt = elm_button_add(win);
-   snprintf(buf, 10, "set %d", ELM_ENTRY_CHUNK_SIZE + 1);
-   elm_object_text_set(bt, buf);
-   evas_object_smart_callback_add(bt, "clicked", my_ent_set_long, en);
-   evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL);
-   evas_object_size_hint_weight_set(bt, EVAS_HINT_EXPAND, 0.0);
-   elm_box_pack_end(bx2, bt);
-   elm_object_focus_allow_set(bt, EINA_FALSE);
-   evas_object_show(bt);
-
-   elm_box_pack_end(bx, bx2);
-   evas_object_show(bx2);
-
    evas_object_resize(win, 320, 480);
 
    elm_object_focus_set(win, EINA_TRUE);
diff --git a/src/lib/elementary/elm_entry.c b/src/lib/elementary/elm_entry.c
index abc89c9..160a3bf 100644
--- a/src/lib/elementary/elm_entry.c
+++ b/src/lib/elementary/elm_entry.c
@@ -3134,22 +3134,6 @@ _entry_text_append(Evas_Object* obj, const char* entry, 
Eina_Bool set)
              memcpy(sd->append_text_left, entry, len + 1);
              sd->append_text_position = 0;
              sd->append_text_len = len;
-             /* Set text directly as amount of chunk size
-              * and append remain text to idler */
-             if (set)
-               {
-                  char tmp;
-                  tmp = sd->append_text_left[ELM_ENTRY_CHUNK_SIZE];
-                  sd->append_text_left[ELM_ENTRY_CHUNK_SIZE] = '\0';
-
-                  if (edje_object_part_text_set(sd->entry_edje, "elm.text",
-                        sd->append_text_left))
-                     sd->append_text_position = ELM_ENTRY_CHUNK_SIZE;
-                  else
-                     edje_object_part_text_set(sd->entry_edje, "elm.text", "");
-
-                  sd->append_text_left[ELM_ENTRY_CHUNK_SIZE] = tmp;
-               }
              sd->append_text_idler = ecore_idler_add(_text_append_idler, obj);
           }
         else
@@ -3204,6 +3188,8 @@ _elm_entry_elm_layout_text_set(Eo *obj, Elm_Entry_Data 
*sd, const char *part, co
         sd->append_text_left = NULL;
      }
 
+   /* Need to clear the entry first */
+   edje_object_part_text_set(sd->entry_edje, "elm.text", "");
    _entry_text_append(obj, entry, EINA_TRUE);
 
    if (len > 0)

-- 

------------------------------------------------------------------------------
Attend Shape: An AT&T Tech Expo July 15-16. Meet us at AT&T Park in San
Francisco, CA to explore cutting-edge tech and listen to tech luminaries
present their vision of the future. This family event has something for
everyone, including kids. Get more information and register today.
http://sdm.link/attshape
_______________________________________________
enlightenment-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/enlightenment-devel

Reply via email to