[EGIT] [core/efl] master 01/01: Evas textblock: fix cached markup's stringshare refs
herdsman pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c7d45032dd68048a3c7c3cb74467dd683b86d83b commit c7d45032dd68048a3c7c3cb74467dd683b86d83b Author: Daniel HirtDate: Sun Feb 28 17:33:40 2016 +0200 Evas textblock: fix cached markup's stringshare refs The last fix 34020ed131c7a5da4d60bb3a452fac0d9ee5fdd1 was missing a stringshare_del for the NOP case of markup_set. It led to a constantly increasing ref count of the cached markup. @fix --- src/lib/evas/canvas/evas_object_textblock.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/evas/canvas/evas_object_textblock.c b/src/lib/evas/canvas/evas_object_textblock.c index 11ff1fe..158c84b 100644 --- a/src/lib/evas/canvas/evas_object_textblock.c +++ b/src/lib/evas/canvas/evas_object_textblock.c @@ -6853,6 +6853,7 @@ _evas_textblock_text_markup_set(Eo *eo_obj EINA_UNUSED, Evas_Textblock_Data *o, text = eina_stringshare_add(text); if (text == o->markup_text) { + eina_stringshare_del(text); /* Text is the same, do nothing. */ return; } --
[EGIT] [tools/enventor] master 01/01: edc_navigator: 3rd patchset.
hermet pushed a commit to branch master. http://git.enlightenment.org/tools/enventor.git/commit/?id=647dbde8ca5bd06ebf400303f89c2d6cc6efa23d commit 647dbde8ca5bd06ebf400303f89c2d6cc6efa23d Author: Hermet ParkDate: Mon Feb 29 00:05:44 2016 +0900 edc_navigator: 3rd patchset. optimizing + stablizing functions. --- src/bin/base_gui.c | 42 +-- src/bin/edc_navigator.c | 172 ++-- src/include/base_gui.h | 2 + src/include/edc_navigator.h | 2 +- 4 files changed, 156 insertions(+), 62 deletions(-) diff --git a/src/bin/base_gui.c b/src/bin/base_gui.c index a76a89c..776febc 100644 --- a/src/bin/base_gui.c +++ b/src/bin/base_gui.c @@ -6,7 +6,8 @@ typedef struct base_s Evas_Object *layout; Evas_Object *console; Evas_Object *enventor; - Ecore_Timer *edc_navigator_timer; + Ecore_Timer *edc_navi_update_timer; + Ecore_Timer *edc_navi_reload_timer; Eina_Bool console_msg : 1; } base_data; @@ -33,6 +34,18 @@ win_resize_cb(void *data EINA_UNUSED, Evas *o EINA_UNUSED, Evas_Object *obj, } static Eina_Bool +edc_navigator_reload_timer_cb(void *data) +{ + base_data *bd = data; + + edc_navigator_reload(stats_group_name_get()); + + bd->edc_navi_reload_timer = NULL; + + return ECORE_CALLBACK_CANCEL; +} + +static Eina_Bool edc_navigator_update_timer_cb(void *data) { base_data *bd = g_bd; @@ -40,7 +53,7 @@ edc_navigator_update_timer_cb(void *data) const char *group_name = data; edc_navigator_group_update(group_name); - bd->edc_navigator_timer = NULL; + bd->edc_navi_update_timer = NULL; return ECORE_CALLBACK_CANCEL; } @@ -92,7 +105,10 @@ void base_edc_navigator_toggle(Eina_Bool toggle) if (toggle) config_edc_navigator_set(!config_edc_navigator_get()); if (config_edc_navigator_get()) - elm_object_signal_emit(bd->layout, "elm,state,edc_navigator,show", ""); + { +base_edc_navigator_reload(); +elm_object_signal_emit(bd->layout, "elm,state,edc_navigator,show", ""); + } else elm_object_signal_emit(bd->layout, "elm,state,edc_navigator,hide", ""); } @@ -211,7 +227,8 @@ base_gui_term(void) base_data *bd = g_bd; if (!bd) return; - ecore_timer_del(bd->edc_navigator_timer); + ecore_timer_del(bd->edc_navi_update_timer); + ecore_timer_del(bd->edc_navi_reload_timer); edc_navigator_term(); panes_term(); @@ -222,18 +239,29 @@ base_gui_term(void) void base_edc_navigator_group_update(const char *group_name) { + if (!config_edc_navigator_get()) return; + base_data *bd = g_bd; if (!bd) return; - ecore_timer_del(bd->edc_navigator_timer); - bd->edc_navigator_timer = ecore_timer_add(1, edc_navigator_update_timer_cb, + ecore_timer_del(bd->edc_navi_update_timer); + bd->edc_navi_update_timer = ecore_timer_add(EDC_NAVIGATOR_UPDATE_TIME, + edc_navigator_update_timer_cb, group_name); } void base_edc_navigator_reload(void) { - edc_navigator_reload(); + if (!config_edc_navigator_get()) return; + + base_data *bd = g_bd; + if (!bd) return; + + ecore_timer_del(bd->edc_navi_reload_timer); + bd->edc_navi_reload_timer = ecore_timer_add(EDC_NAVIGATOR_UPDATE_TIME, + edc_navigator_reload_timer_cb, + bd); } void diff --git a/src/bin/edc_navigator.c b/src/bin/edc_navigator.c index 709b3b5..fba395c 100644 --- a/src/bin/edc_navigator.c +++ b/src/bin/edc_navigator.c @@ -7,14 +7,18 @@ typedef struct edc_navigator_s Eina_List *group_items; //group object item Eina_List *part_items; //part object item Eina_List *state_items; //state object item + Eina_List *program_items; //program object item Eina_List *group_list; //group name list Eina_List *part_list; //part name list Eina_List *state_list; //state name list + Eina_List *program_list;//program name list Elm_Genlist_Item_Class *group_itc; Elm_Genlist_Item_Class *part_itc; Elm_Genlist_Item_Class *state_itc; + Elm_Genlist_Item_Class *program_itc; + } navi_data; typedef struct part_item_data_s @@ -25,6 +29,9 @@ typedef struct part_item_data_s static navi_data *g_nd = NULL; +static void +gl_part_selected_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info); + /*/ /* Internal method implementation*/ /*/ @@ -32,6 +39,7 @@ static void gl_state_selected_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info) { Elm_Object_Item *it = event_info; + //TODO: Search
[EGIT] [tools/exactness] master 02/02: Modify the verbose rectangle color on clicked and shot
jackdanielz pushed a commit to branch master. http://git.enlightenment.org/tools/exactness.git/commit/?id=ef0b0ae89b2cfee513915e2968b66cb3488a5023 commit ef0b0ae89b2cfee513915e2968b66cb3488a5023 Author: Daniel ZaouiDate: Sun Feb 28 14:58:23 2016 +0200 Modify the verbose rectangle color on clicked and shot This is useful when looking at recorded scenarios to understand what is done. Sometimes, when scenarios are too old, click is not done on the right area, leading to weird behavior. --- src/lib/tsuite_evas_hook.c | 4 1 file changed, 4 insertions(+) diff --git a/src/lib/tsuite_evas_hook.c b/src/lib/tsuite_evas_hook.c index ee3e7b7..288cea1 100644 --- a/src/lib/tsuite_evas_hook.c +++ b/src/lib/tsuite_evas_hook.c @@ -406,6 +406,7 @@ tsuite_feed_event(void *data) #ifdef DEBUG_TSUITE printf("%s evas_event_feed_mouse_down timestamp=<%u> t->n_evas=<%d>\n", __func__, t->timestamp, t->n_evas); #endif + if (rect) evas_object_color_set(rect, 255, 255, 0, 255); evas_event_feed_mouse_down(eina_list_nth(evas_list, t->n_evas), t->b, t->flags, time(NULL), NULL); @@ -423,6 +424,7 @@ tsuite_feed_event(void *data) evas_event_feed_mouse_up(eina_list_nth(evas_list, t->n_evas), t->b, t->flags, time(NULL), NULL); + if (rect) evas_object_color_set(rect, 255, 0, 0, 255); break; } @@ -439,6 +441,7 @@ tsuite_feed_event(void *data) if (rect) { evas_object_move(rect, t->x, t->y); + evas_object_color_set(rect, 255, 0, 0, 255); } break; } @@ -558,6 +561,7 @@ tsuite_feed_event(void *data) #ifdef DEBUG_TSUITE printf("%s take shot timestamp=<%u> t->n_evas=<%d>\n", __func__, t->timestamp, t->n_evas); #endif + if (rect) evas_object_color_set(rect, 0, 0, 255, 255); tsuite_shot_do(NULL, eina_list_nth(evas_list, t->n_evas)); /* Serial name based on test-name */ break; --
[EGIT] [tools/exactness] master 01/02: Add F3 key to record scenario
jackdanielz pushed a commit to branch master. http://git.enlightenment.org/tools/exactness.git/commit/?id=83b9e632dcd95963d5eec4c5148b9e5b2ceed303 commit 83b9e632dcd95963d5eec4c5148b9e5b2ceed303 Author: Daniel ZaouiDate: Sun Feb 28 14:55:21 2016 +0200 Add F3 key to record scenario During ecore_shutdown, when the refcount reached 0, the scenario record has to be done. The problem is that the ecore termination never happens because of ecore modules loaded during init that references ecore refcount. The solution, until this is fixed, is to trigger the scenario recording from a key press. --- src/lib/tsuite_evas_hook.c | 43 +++ 1 file changed, 43 insertions(+) diff --git a/src/lib/tsuite_evas_hook.c b/src/lib/tsuite_evas_hook.c index d133584..ee3e7b7 100644 --- a/src/lib/tsuite_evas_hook.c +++ b/src/lib/tsuite_evas_hook.c @@ -14,6 +14,7 @@ #define TSUITE_MAX_PATH 1024 #define SHOT_KEY_STR "F2" +#define SAVE_KEY_STR "F3" #define IMAGE_FILENAME_EXT ".png" /* START - EET Handling code */ @@ -905,6 +906,18 @@ evas_event_feed_key_down(Evas *e, const char *keyname, const char *key, return; } + if (!strcmp(key, SAVE_KEY_STR)) + { +if (_hook_setting) + { + if (vr_list && _hook_setting->recording) + write_events(_hook_setting->file_name, vr_list); +#ifdef DEBUG_TSUITE + printf("Save events: %s timestamp=<%u>\n", __func__, timestamp); +#endif + } +return; + } if (vr_list && _hook_setting->recording) { /* Construct duplicate strings, free them when list if freed */ @@ -941,6 +954,15 @@ evas_event_feed_key_up(Evas *e, const char *keyname, const char *key, return; /* Take screenshot done on key-down */ } + if (!strcmp(key, SAVE_KEY_STR)) + { +#ifdef DEBUG_TSUITE +printf("Save events: %s timestamp=<%u>\n", __func__, timestamp); +#endif +orig(e, keyname, key, string, compose, timestamp, data); +return; /* Save events done on key-down */ + } + int evt = { tsuite_event_type_get(EVAS_CALLBACK_KEY_UP) }; #ifdef DEBUG_TSUITE printf("Calling %s timestamp=<%u>\n", __func__, timestamp); @@ -988,6 +1010,18 @@ evas_event_feed_key_down_with_keycode(Evas *e, const char *keyname, const char * return; } + if (!strcmp(key, SAVE_KEY_STR)) + { +if (_hook_setting) + { + if (vr_list && _hook_setting->recording) + write_events(_hook_setting->file_name, vr_list); +#ifdef DEBUG_TSUITE + printf("Save events: %s timestamp=<%u>\n", __func__, timestamp); +#endif + } +return; + } if (vr_list && _hook_setting->recording) { /* Construct duplicate strings, free them when list if freed */ @@ -1025,6 +1059,15 @@ evas_event_feed_key_up_with_keycode(Evas *e, const char *keyname, const char *ke return; /* Take screenshot done on key-down */ } + if (!strcmp(key, SAVE_KEY_STR)) + { +#ifdef DEBUG_TSUITE +printf("Save events: %s timestamp=<%u>\n", __func__, timestamp); +#endif +orig(e, keyname, key, string, compose, timestamp, data, keycode); +return; /* Save events done on key-down */ + } + int evt = TSUITE_EVENT_KEY_UP_WITH_KEYCODE; #ifdef DEBUG_TSUITE printf("Calling %s timestamp=<%u>\n", __func__, timestamp); --