[EGIT] [core/efl] master 01/01: Evas textblock: fix cached markup's stringshare refs

2016-02-28 Thread Daniel Hirt
herdsman pushed a commit to branch master.

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

commit c7d45032dd68048a3c7c3cb74467dd683b86d83b
Author: Daniel Hirt 
Date:   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.

2016-02-28 Thread Hermet Park
hermet pushed a commit to branch master.

http://git.enlightenment.org/tools/enventor.git/commit/?id=647dbde8ca5bd06ebf400303f89c2d6cc6efa23d

commit 647dbde8ca5bd06ebf400303f89c2d6cc6efa23d
Author: Hermet Park 
Date:   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

2016-02-28 Thread Daniel Zaoui
jackdanielz pushed a commit to branch master.

http://git.enlightenment.org/tools/exactness.git/commit/?id=ef0b0ae89b2cfee513915e2968b66cb3488a5023

commit ef0b0ae89b2cfee513915e2968b66cb3488a5023
Author: Daniel Zaoui 
Date:   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

2016-02-28 Thread Daniel Zaoui
jackdanielz pushed a commit to branch master.

http://git.enlightenment.org/tools/exactness.git/commit/?id=83b9e632dcd95963d5eec4c5148b9e5b2ceed303

commit 83b9e632dcd95963d5eec4c5148b9e5b2ceed303
Author: Daniel Zaoui 
Date:   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);

--