[EGIT] [core/efl] master 01/01: map: don't update surface unencessarily.

2015-09-10 Thread ChunEon Park
hermet pushed a commit to branch master.

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

commit becf6869b9e5647595789a9094010d114e66f6a5
Author: ChunEon Park 
Date:   Thu Sep 10 21:27:47 2015 +0900

map: don't update surface unencessarily.

smart object don't need to update map surface always
check the state more elaborately so minus one more surface drawing!
---
 src/lib/evas/canvas/evas_object_smart.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff --git a/src/lib/evas/canvas/evas_object_smart.c 
b/src/lib/evas/canvas/evas_object_smart.c
index fab0f1b..cacc5a4 100644
--- a/src/lib/evas/canvas/evas_object_smart.c
+++ b/src/lib/evas/canvas/evas_object_smart.c
@@ -991,7 +991,9 @@ evas_object_smart_changed_get(Evas_Object *eo_obj)
 
 if (has_map)
   {
- if (obj->need_surface_clear || ((obj->changed_pchange) && 
(obj->changed_map)))
+
+ if ((obj->need_surface_clear && obj->changed && !obj->is_smart) ||
+ ((obj->changed_pchange) && (obj->changed_map)))
return EINA_TRUE;
   }
  }

-- 




[EGIT] [core/elementary] master 01/02: elm autofocus show - fix cases where focus is inside containers

2015-09-10 Thread Carsten Haitzler
raster pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=aa5b83d76aa371e6de4e0a1c45cc31e72646ecdf

commit aa5b83d76aa371e6de4e0a1c45cc31e72646ecdf
Author: Carsten Haitzler (Rasterman) 
Date:   Thu Sep 10 18:29:24 2015 +0900

elm autofocus show - fix cases where focus is inside containers

i found that the focus doesnt auto-show when focusing things inside
scrollers and so on. i had to add more points to trigger auto show.
this fixes that

@fix
---
 src/lib/elc_ctxpopup.c  | 1 +
 src/lib/elc_hoversel.c  | 1 +
 src/lib/elc_player.c| 1 +
 src/lib/elc_popup.c | 1 +
 src/lib/elm_calendar.c  | 1 +
 src/lib/elm_colorselector.c | 3 ++-
 src/lib/elm_diskselector.c  | 1 +
 src/lib/elm_gengrid.c   | 1 +
 src/lib/elm_genlist.c   | 1 +
 src/lib/elm_list.c  | 1 +
 src/lib/elm_priv.h  | 1 +
 src/lib/elm_scroller.c  | 2 ++
 src/lib/elm_slideshow.c | 1 +
 src/lib/elm_toolbar.c   | 1 +
 src/lib/elm_video.c | 1 +
 src/lib/elm_widget.c| 8 
 src/lib/elm_win.c   | 4 +---
 17 files changed, 26 insertions(+), 4 deletions(-)

diff --git a/src/lib/elc_ctxpopup.c b/src/lib/elc_ctxpopup.c
index d371459..73954d4 100644
--- a/src/lib/elc_ctxpopup.c
+++ b/src/lib/elc_ctxpopup.c
@@ -115,6 +115,7 @@ _key_action_move(Evas_Object *obj, const char *params)
 
if (!sd->box) return EINA_FALSE;
 
+   _elm_widget_focus_auto_show(obj);
if (!strcmp(dir, "previous"))
  elm_widget_focus_cycle(sd->box, ELM_FOCUS_PREVIOUS);
else if (!strcmp(dir, "next"))
diff --git a/src/lib/elc_hoversel.c b/src/lib/elc_hoversel.c
index c25fb6a..b828931 100644
--- a/src/lib/elc_hoversel.c
+++ b/src/lib/elc_hoversel.c
@@ -677,6 +677,7 @@ _key_action_move(Evas_Object *obj, const char *params)
eo_litem = eina_list_last_data_get(sd->items);
eo_fitem = eina_list_data_get(sd->items);
 
+   _elm_widget_focus_auto_show(obj);
if (!strcmp(dir, "down"))
  {
 if ((!sd->horizontal) &&
diff --git a/src/lib/elc_player.c b/src/lib/elc_player.c
index 91e38ed..1eeb35d 100644
--- a/src/lib/elc_player.c
+++ b/src/lib/elc_player.c
@@ -72,6 +72,7 @@ _key_action_move(Evas_Object *obj, const char *params)
ELM_PLAYER_DATA_GET(obj, sd);
const char *dir = params;
 
+   _elm_widget_focus_auto_show(obj);
if (!strcmp(dir, "left"))
  {
 double current, last;
diff --git a/src/lib/elc_popup.c b/src/lib/elc_popup.c
index ed9cc85..7e56946 100644
--- a/src/lib/elc_popup.c
+++ b/src/lib/elc_popup.c
@@ -1419,6 +1419,7 @@ _key_action_move(Evas_Object *obj, const char *params)
 {
const char *dir = params;
 
+   _elm_widget_focus_auto_show(obj);
if (!strcmp(dir, "previous"))
  elm_widget_focus_cycle(obj, ELM_FOCUS_PREVIOUS);
else if (!strcmp(dir, "next"))
diff --git a/src/lib/elm_calendar.c b/src/lib/elm_calendar.c
index fe0102a..4ecfb49 100644
--- a/src/lib/elm_calendar.c
+++ b/src/lib/elm_calendar.c
@@ -933,6 +933,7 @@ _key_action_move(Evas_Object *obj, const char *params)
ELM_CALENDAR_DATA_GET(obj, sd);
const char *dir = params;
 
+   _elm_widget_focus_auto_show(obj);
if (!strcmp(dir, "prior"))
  {
 if (_update_data(obj, EINA_TRUE, -1)) _populate(obj);
diff --git a/src/lib/elm_colorselector.c b/src/lib/elm_colorselector.c
index f53548e..ee9a96f 100644
--- a/src/lib/elm_colorselector.c
+++ b/src/lib/elm_colorselector.c
@@ -1829,11 +1829,12 @@ _key_action_move(Evas_Object *obj, const char *params)
char colorbar_s[128];
const char *dir = params;
 
+   _elm_widget_focus_auto_show(obj);
if (!strcmp(dir, "left"))
  {
 if (sd->focused == ELM_COLORSELECTOR_PALETTE && sd->selected)
   cl = eina_list_prev(sd->selected);
- else if (sd->focused == ELM_COLORSELECTOR_COMPONENTS)
+else if (sd->focused == ELM_COLORSELECTOR_COMPONENTS)
   _button_clicked_cb(sd->cb_data[sd->sel_color_type],
  sd->cb_data[sd->sel_color_type]->lbt, NULL, NULL);
 else return EINA_FALSE;
diff --git a/src/lib/elm_diskselector.c b/src/lib/elm_diskselector.c
index 70d5f3b..54fe8c5 100644
--- a/src/lib/elm_diskselector.c
+++ b/src/lib/elm_diskselector.c
@@ -962,6 +962,7 @@ _key_action_move(Evas_Object *obj, const char *params)
Eina_List *l = NULL;
const char *dir = params;
 
+   _elm_widget_focus_auto_show(obj);
if (!strcmp(dir, "prev"))
  {
 l = sd->selected_item->node->prev;
diff --git a/src/lib/elm_gengrid.c b/src/lib/elm_gengrid.c
index 66a8eff..d351b53 100644
--- a/src/lib/elm_gengrid.c
+++ b/src/lib/elm_gengrid.c
@@ -3054,6 +3054,7 @@ _key_action_move(Evas_Object *obj, const char *params)
 
if (sd->reorder_mode && sd->reorder.running) return EINA_TRUE;
 
+   _elm_widget_focus_auto_show(obj);
if ((!strcmp(dir, "left") && !mirrored) ||
(!strcmp(dir, "right") && mirrored))
  {
diff --git a/src/lib/elm_genlist.c 

[EGIT] [core/enlightenment] master 01/01: e comp - set rects to null to silence compiler warning

2015-09-10 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit cfdd8a47efc9a4d41a1e1178b6a9452b89dd00c1
Author: Carsten Haitzler (Rasterman) 
Date:   Thu Sep 10 22:13:57 2015 +0900

e comp - set rects to null to silence compiler warning

even though n is 0 and we don't use rects, compiler doesn't know, so
to avoid noise - set to null so we can focus on warnings of real errors.
---
 src/bin/e_comp_x.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/bin/e_comp_x.c b/src/bin/e_comp_x.c
index 599090a..72535c6 100644
--- a/src/bin/e_comp_x.c
+++ b/src/bin/e_comp_x.c
@@ -2780,7 +2780,7 @@ static Eina_Bool
 _e_comp_x_damage(void *data EINA_UNUSED, int type EINA_UNUSED, 
Ecore_X_Event_Damage *ev)
 {
E_Client *ec;
-   Ecore_X_Rectangle *rects;
+   Ecore_X_Rectangle *rects = NULL;
int n = 0;
 
ec = _e_comp_x_client_find_by_damage(ev->damage);

-- 




[EGIT] [core/elementary] master 02/02: elm - when focus goes back in to a window dont have scrollers jump

2015-09-10 Thread Carsten Haitzler
raster pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=933dfca5bcda4943ecdd81ab09dc34989234f7f3

commit 933dfca5bcda4943ecdd81ab09dc34989234f7f3
Author: Carsten Haitzler (Rasterman) 
Date:   Thu Sep 10 20:04:23 2015 +0900

elm - when focus goes back in to a window dont have scrollers jump

there is an annoyance in elm that when focus goes back toa window it
restores focus to the last focused widget. if that widget happens to
be invisible in a scroller then this is really annoying as the
scrollers reset. this makes restoring optional. only if there is a
hilight object AND it's visible - then restore, otherwise don't and
revert focus to the window itself again.

@fix
---
 src/lib/elm_win.c | 14 +-
 1 file changed, 13 insertions(+), 1 deletion(-)

diff --git a/src/lib/elm_win.c b/src/lib/elm_win.c
index 453bb2f..0ced87a 100644
--- a/src/lib/elm_win.c
+++ b/src/lib/elm_win.c
@@ -1084,7 +1084,19 @@ _elm_win_focus_in(Ecore_Evas *ee)
  elm_widget_focus_steal(obj);
   }
 else
-  elm_widget_focus_restore(obj);
+  {
+ Evas_Object *newest = NULL;
+ unsigned int newest_focus_order = 0;
+
+ newest = elm_widget_newest_focus_order_get
+   (obj, _focus_order, EINA_TRUE);
+ if ((newest) &&
+ _elm_win_focus_highlight_object_get(obj) &&
+ _elm_widget_onscreen_is(newest))
+   elm_widget_focus_restore(obj);
+ else
+   evas_object_focus_set(obj, EINA_TRUE);
+  }
  }
// FIXME: the event is deprecated but still in use.
// Has to be removed in EFL2.0

-- 




[EGIT] [enlightenment/modules/edgar] master 01/01: CPU: also support 1.x psutil version

2015-09-10 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/edgar.git/commit/?id=caa232dcc0fd94f27ff21e3ef4b5d6f44e5e0127

commit caa232dcc0fd94f27ff21e3ef4b5d6f44e5e0127
Author: Dave Andreoli 
Date:   Thu Sep 10 20:08:34 2015 +0200

CPU: also support 1.x psutil version
---
 GADGETS/cpu/__init__.py | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

diff --git a/GADGETS/cpu/__init__.py b/GADGETS/cpu/__init__.py
index 5fc5aa7..53d0f7c 100644
--- a/GADGETS/cpu/__init__.py
+++ b/GADGETS/cpu/__init__.py
@@ -25,7 +25,7 @@ class Gadget(e.Gadget):
 def __init__(self):
 super().__init__()
 
-self.num_cores = psutil.cpu_count()
+self.num_cores = len(psutil.cpu_percent(interval=0, percpu=True))
 self.aspect = None
 self.poller = None
 
@@ -59,7 +59,7 @@ class Gadget(e.Gadget):
 self.poller = None
 
 def poller_cb(self):
-percents = psutil.cpu_percent(percpu=True)
+percents = psutil.cpu_percent(interval=0, percpu=True)
 
 for obj in self._instances:
 for i, bar in enumerate(obj.data['bars']):

-- 




[EGIT] [core/efl] master 01/01: ecore - let the ecore_con_eet_*.c examples build.

2015-09-10 Thread David Walter Seikel
onefang pushed a commit to branch master.

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

commit 14b2ba7bed1409d7f95665bb0f1122714c5b444a
Author: David Walter Seikel 
Date:   Fri Sep 11 14:19:36 2015 +1000

ecore - let the ecore_con_eet_*.c examples build.

When using the --enable-always-build-examples configure option, these two
examples need to be linked to eet.

@fix
---
 src/examples/ecore/Makefile.am | 6 --
 1 file changed, 4 insertions(+), 2 deletions(-)

diff --git a/src/examples/ecore/Makefile.am b/src/examples/ecore/Makefile.am
index 3f2c788..a8af94f 100644
--- a/src/examples/ecore/Makefile.am
+++ b/src/examples/ecore/Makefile.am
@@ -264,10 +264,12 @@ ecore_getopt_example_SOURCES = ecore_getopt_example.c
 ecore_getopt_example_LDADD = $(ECORE_COMMON_LDADD)
 
 ecore_con_eet_client_example_SOURCES = ecore_con_eet_client_example.c 
ecore_con_eet_descriptor_example.c
-ecore_con_eet_client_example_LDADD = $(ECORE_CON_COMMON_LDADD)
+ecore_con_eet_client_example_LDADD = $(ECORE_CON_COMMON_LDADD) \
+$(top_builddir)/src/lib/eet/libeet.la
 
 ecore_con_eet_server_example_SOURCES = ecore_con_eet_server_example.c 
ecore_con_eet_descriptor_example.c
-ecore_con_eet_server_example_LDADD = $(ECORE_CON_COMMON_LDADD)
+ecore_con_eet_server_example_LDADD = $(ECORE_CON_COMMON_LDADD) \
+$(top_builddir)/src/lib/eet/libeet.la
 
 SRCS = \
 ecore_animator_example.c \

-- 




[EGIT] [enlightenment/modules/penguins] master 01/01: Fix e_config func param

2015-09-10 Thread Dave Andreoli
davemds pushed a commit to branch master.

http://git.enlightenment.org/enlightenment/modules/penguins.git/commit/?id=f1be7e77113e7ff5aab97b4afe0678f0db5f3959

commit f1be7e77113e7ff5aab97b4afe0678f0db5f3959
Author: Dave Andreoli 
Date:   Thu Sep 10 21:21:02 2015 +0200

Fix e_config func param

...dunno when this was changed in e

also remove an annoying printf that was polluting the logs
---
 src/e_mod_config.c   | 4 ++--
 src/e_mod_config.h   | 2 +-
 src/e_mod_penguins.c | 4 ++--
 3 files changed, 5 insertions(+), 5 deletions(-)

diff --git a/src/e_mod_config.c b/src/e_mod_config.c
index 8c67321..1675c86 100644
--- a/src/e_mod_config.c
+++ b/src/e_mod_config.c
@@ -21,7 +21,7 @@ static int _basic_apply_data(E_Config_Dialog *cfd, 
E_Config_Dialog_Data *cfdata)
 static void _fill_data(Penguins_Population *pop, E_Config_Dialog_Data *cfdata);
 
 E_Config_Dialog *
-e_int_config_penguins_module(E_Comp *comp, const char *params)
+e_int_config_penguins_module(Evas_Object *parent, const char *params)
 {
E_Config_Dialog *cfd;
E_Config_Dialog_View *v;
@@ -38,7 +38,7 @@ e_int_config_penguins_module(E_Comp *comp, const char *params)
v->basic.create_widgets = _basic_create_widgets;
 
snprintf(buf, sizeof(buf), "%s/e-module-penguins.edj", 
e_module_dir_get(pop->module));
-   cfd = e_config_dialog_new(comp, D_("Population Settings"),
+   cfd = e_config_dialog_new(parent, D_("Population Settings"),
  "Penguins", "appearance/penguins",
  buf, 0, v, pop);
pop->config_dialog = cfd;
diff --git a/src/e_mod_config.h b/src/e_mod_config.h
index 7179c41..c854f86 100644
--- a/src/e_mod_config.h
+++ b/src/e_mod_config.h
@@ -4,7 +4,7 @@
 #  define E_MOD_CONFIG_H
 #  include "e_mod_main.h"
 
-E_Config_Dialog *e_int_config_penguins_module(E_Comp *comp, const char 
*params);
+E_Config_Dialog *e_int_config_penguins_module(Evas_Object *parent, const char 
*params);
 
 # endif
 #endif
diff --git a/src/e_mod_penguins.c b/src/e_mod_penguins.c
index dec0ba3..7bc5cd7 100644
--- a/src/e_mod_penguins.c
+++ b/src/e_mod_penguins.c
@@ -380,8 +380,8 @@ _cb_zone_changed(void *data, int type EINA_UNUSED, void 
*event EINA_UNUSED)
 static void
 _reborn(Penguins_Actor *tux)
 {
-   printf("PENGUINS: Reborn on zone: %s (%d,%d @ %dx%d)\n",
-  tux->zone->name, tux->zone->x, tux->zone->y, tux->zone->w, 
tux->zone->h);
+   // printf("PENGUINS: Reborn on zone: %s (%d,%d @ %dx%d)\n", tux->zone->name,
+   //tux->zone->x, tux->zone->y, tux->zone->w, tux->zone->h);
tux->custom = NULL;
tux->action = population->actions[AID_FALLER];
tux->reverse = random() % (2);

-- 




[EGIT] [core/efl] master 02/02: efl - set thread names for internally created threads for debugging

2015-09-10 Thread Carsten Haitzler
raster pushed a commit to branch master.

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

commit 5b2baf173e7adf0ca4e68c6c168cecf9b9e9030f
Author: Carsten Haitzler (Rasterman) 
Date:   Thu Sep 10 15:17:08 2015 +0900

efl - set thread names for internally created threads for debugging

@feature
---
 src/lib/ecore/ecore_anim.c | 1 +
 src/lib/ecore/ecore_thread.c   | 2 ++
 src/lib/ecore_x/xlib/ecore_x_vsync.c   | 1 +
 src/lib/evas/cache/evas_preload.c  | 1 +
 src/lib/evas/canvas/render2/evas_render2_th_main.c | 1 +
 src/lib/evas/common/evas_pipe.c| 3 ++-
 src/lib/evas/common/evas_scale_sample.c| 1 +
 src/lib/evas/common/evas_thread_render.c   | 3 ++-
 8 files changed, 11 insertions(+), 2 deletions(-)

diff --git a/src/lib/ecore/ecore_anim.c b/src/lib/ecore/ecore_anim.c
index 908da64..2330090 100644
--- a/src/lib/ecore/ecore_anim.c
+++ b/src/lib/ecore/ecore_anim.c
@@ -115,6 +115,7 @@ _timer_tick_core(void *data EINA_UNUSED, Ecore_Thread 
*thread)
double t0, d;
int ret;
 
+   eina_thread_name_set(eina_thread_self(), "Eanimator-timer");
while (!ecore_thread_check(thread))
  {
 DBG("--- timer_event_is_busy=%i", timer_event_is_busy);
diff --git a/src/lib/ecore/ecore_thread.c b/src/lib/ecore/ecore_thread.c
index 7266c09..f1aa613 100644
--- a/src/lib/ecore/ecore_thread.c
+++ b/src/lib/ecore/ecore_thread.c
@@ -417,6 +417,7 @@ _ecore_feedback_job(PH(thread))
 static void *
 _ecore_direct_worker(Ecore_Pthread_Worker *work)
 {
+   eina_thread_name_set(eina_thread_self(), "Ethread-feedback");
work->self = PHS();
if (work->message_run)
  work->u.message_run.func_main((void *) work->data, (Ecore_Thread *) work);
@@ -439,6 +440,7 @@ restart:
_ecore_feedback_job(PHS());
 
/* FIXME: Check if there is feedback running task todo, and switch to 
feedback run handler. */
+   eina_thread_name_set(eina_thread_self(), "Ethread-worker");
 
SLKL(_ecore_pending_job_threads_mutex);
if (_ecore_pending_job_threads || _ecore_pending_job_threads_feedback)
diff --git a/src/lib/ecore_x/xlib/ecore_x_vsync.c 
b/src/lib/ecore_x/xlib/ecore_x_vsync.c
index 1cc807b..ea51bf5 100644
--- a/src/lib/ecore_x/xlib/ecore_x_vsync.c
+++ b/src/lib/ecore_x/xlib/ecore_x_vsync.c
@@ -244,6 +244,7 @@ _drm_tick_core(void *data EINA_UNUSED, Ecore_Thread *thread)
void *ref;
int tick = 0;
 
+   eina_thread_name_set(eina_thread_self(), "Eanimator-vsync");
while (!ecore_thread_check(thread))
  {
 DBG("--- drm_event_is_busy=%i", drm_event_is_busy);
diff --git a/src/lib/evas/cache/evas_preload.c 
b/src/lib/evas/cache/evas_preload.c
index 775871e..ecd3464 100644
--- a/src/lib/evas/cache/evas_preload.c
+++ b/src/lib/evas/cache/evas_preload.c
@@ -70,6 +70,7 @@ _evas_preload_thread_worker(void *data, Eina_Thread thread 
EINA_UNUSED)
Evas_Preload_Pthread_Data *pth = data;
Evas_Preload_Pthread_Worker *work;
 
+   eina_thread_name_set(eina_thread_self(), "Eevas-preload");
 on_error:
for (;;)
  {
diff --git a/src/lib/evas/canvas/render2/evas_render2_th_main.c 
b/src/lib/evas/canvas/render2/evas_render2_th_main.c
index 1379b88..e0bcc02 100644
--- a/src/lib/evas/canvas/render2/evas_render2_th_main.c
+++ b/src/lib/evas/canvas/render2/evas_render2_th_main.c
@@ -287,6 +287,7 @@ _evas_render2_th_main(void *data EINA_UNUSED, Eina_Thread 
thread EINA_UNUSED)
void *ref = NULL;
Msg_Main_Render *msg;
 
+   eina_thread_name_set(eina_thread_self(), "Eevas-render2");
for (;;)
  {
 msg = eina_thread_queue_wait(_th_main_queue, );
diff --git a/src/lib/evas/common/evas_pipe.c b/src/lib/evas/common/evas_pipe.c
index 92d5bed..d04910d 100644
--- a/src/lib/evas/common/evas_pipe.c
+++ b/src/lib/evas/common/evas_pipe.c
@@ -75,7 +75,8 @@ evas_common_pipe_thread(void *data, Eina_Thread t EINA_UNUSED)
 {
Thinfo *thinfo;
 
-// INF("TH [...");
+   eina_thread_name_set(eina_thread_self(), "Eecore-pipe");
+   // INF("TH [...");
thinfo = data;
for (;;)
  {
diff --git a/src/lib/evas/common/evas_scale_sample.c 
b/src/lib/evas/common/evas_scale_sample.c
index 0933e7f..61f071f 100644
--- a/src/lib/evas/common/evas_scale_sample.c
+++ b/src/lib/evas/common/evas_scale_sample.c
@@ -819,6 +819,7 @@ _evas_common_scale_sample_thread(void *data EINA_UNUSED,
Evas_Scale_Msg *msg;
Evas_Scale_Thread *todo = NULL;
 
+   eina_thread_name_set(eina_thread_self(), "Eevas-scale-sam");
do
  {
 void *ref;
diff --git a/src/lib/evas/common/evas_thread_render.c 
b/src/lib/evas/common/evas_thread_render.c
index b9cf91a..420423a 100644
--- a/src/lib/evas/common/evas_thread_render.c
+++ b/src/lib/evas/common/evas_thread_render.c
@@ -58,7 +58,8 @@ evas_thread_queue_flush(Evas_Thread_Command_Cb cb, void *data)
 static void*
 evas_thread_worker_func(void *data EINA_UNUSED,