jaehyun pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=5fceb29b5b62a6be7b0706717d72efd04bd010bc

commit 5fceb29b5b62a6be7b0706717d72efd04bd010bc
Author: taehyub <taehyub....@samsung.com>
Date:   Fri Feb 19 16:10:23 2016 +0900

    fix the error word select function
    
    Summary:
    removed the animator creation when mouse double click in console box.
    If use animator, there can be unexpected behavior like selection region is 
deleted when long script is loaded.
    @fix
    
    Reviewers: Hermet, Jaehyun_Cho, NikaWhite
    
    Differential Revision: https://phab.enlightenment.org/D3714
---
 src/bin/console.c | 41 +++++++----------------------------------
 1 file changed, 7 insertions(+), 34 deletions(-)

diff --git a/src/bin/console.c b/src/bin/console.c
index 7e01687..ebca8e4 100644
--- a/src/bin/console.c
+++ b/src/bin/console.c
@@ -15,11 +15,11 @@ token_value_get(char *src, char *key_str, char end_key, int 
offset, char *dst)
    dst[count] = '\0';
 }
 
-static Eina_Bool
-error_word_selection_anim_cb(void *data)
+static void
+error_word_select(Evas_Object *console)
 {
-   Evas_Object *entry = data;
-   const char *console_text = elm_entry_entry_get(entry);
+   const char *console_text = elm_entry_entry_get(console);
+   if (console_text == NULL) return;
 
    char error_word[1024];
    char error_line[1024];
@@ -28,14 +28,14 @@ error_word_selection_anim_cb(void *data)
    //parse edc line
    if (edc_token = strstr(console_text, "edc:"))
      token_value_get(edc_token, "edc:", ' ', 0, error_line);
-   else return ECORE_CALLBACK_CANCEL;
+   else return;
 
    //parse error word
    if (error_token = strstr(console_text, "keyword"))
      token_value_get(error_token, "keyword", '<', 1, error_word);
    else if (error_token = strstr(console_text, "name"))
      token_value_get(error_token, "name", '<', 1, error_word);
-   else return ECORE_CALLBACK_CANCEL;
+   else return;
 
     //find error word position
     const char *entry_text = enventor_object_text_get(base_enventor_get());
@@ -48,36 +48,14 @@ error_word_selection_anim_cb(void *data)
     const char *matched = strstr(search_line, error_word);
 
     if (matched == NULL)
-      return ECORE_CALLBACK_CANCEL;
+      return;
 
     int start, end;
     start = matched - utf8;
     end = start + strlen(error_word);
 
     //select error word
-    //here, we insert the syntax lock, unlock function
-    //before and after selection region function
-    //to prevent releasing the selection region.
-    enventor_object_syntax_color_full_apply(base_enventor_get(), EINA_FALSE);
     enventor_object_select_region_set(base_enventor_get(), start, end);
-    enventor_object_syntax_color_partial_apply(base_enventor_get(), 10);
-
-   return ECORE_CALLBACK_CANCEL;
-}
-
-void
-error_word_select(Evas_Object *console)
-{
-   ecore_animator_add(error_word_selection_anim_cb, console);
-}
-
-static void
-console_mouse_down_cb(void *data EINA_UNUSED, Evas *e EINA_UNUSED, Evas_Object 
*obj,
-                      void *evnent_info)
-{
-   if (((Evas_Event_Mouse_Down*)evnent_info)->flags &
-                 EVAS_BUTTON_DOUBLE_CLICK)
-     error_word_select(obj);
 }
 
 /*****************************************************************************/
@@ -103,10 +81,5 @@ console_create(Evas_Object *parent)
                                     EVAS_HINT_EXPAND);
    evas_object_size_hint_align_set(obj, EVAS_HINT_FILL, EVAS_HINT_FILL);
 
-   evas_object_event_callback_add(obj,
-                                 EVAS_CALLBACK_MOUSE_DOWN,
-                                 console_mouse_down_cb,
-                                 NULL);
-
    return obj;
 }

-- 


Reply via email to