[EGIT] [core/efl] master 02/02: evas/engine: Fix memory leak in generic cache.

2020-06-02 Thread Subhransu Mohanty
hermet pushed a commit to branch master.

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

commit 97f4f7127a653db1ad1b69ecb3a2cb788ee8c5a1
Author: Subhransu Mohanty 
Date:   Wed Jun 3 13:03:39 2020 +0900

evas/engine: Fix memory leak in generic cache.

Summary:
During shutdown we used to call engine_image_free() which was causing some 
deadlock.
as we have evas_cache which takes care of freeing all the images we just 
have to
delete the generic cache without freeing the image during shutdown.

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11915
---
 src/lib/evas/common/evas_common_generic_cache.c   | 13 +++--
 src/modules/evas/engines/gl_generic/evas_engine.c |  3 +--
 2 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/src/lib/evas/common/evas_common_generic_cache.c 
b/src/lib/evas/common/evas_common_generic_cache.c
index ddb055deb2..4fc5a8bbac 100644
--- a/src/lib/evas/common/evas_common_generic_cache.c
+++ b/src/lib/evas/common/evas_common_generic_cache.c
@@ -14,8 +14,17 @@ generic_cache_new(void *user_data, Generic_Cache_Free func)
 EAPI void
 generic_cache_destroy(Generic_Cache *cache)
 {
-   generic_cache_dump(cache);
-   eina_hash_free(cache->hash);
+   Generic_Cache_Entry *entry;
+   if (cache)
+ {
+EINA_LIST_FREE(cache->lru_list, entry)
+  {
+ free(entry);
+  }
+
+eina_hash_free(cache->hash);
+free(cache);  
+ }
 }
 
 EAPI void
diff --git a/src/modules/evas/engines/gl_generic/evas_engine.c 
b/src/modules/evas/engines/gl_generic/evas_engine.c
index 414856794f..593f16954a 100644
--- a/src/modules/evas/engines/gl_generic/evas_engine.c
+++ b/src/modules/evas/engines/gl_generic/evas_engine.c
@@ -167,8 +167,7 @@ eng_engine_free(void *engine)
Render_Engine_GL_Generic *e = engine;
Render_Output_GL_Generic *output;
 
-   //@FIXME this causes some deadlock while freeing the engine image.
-   //generic_cache_destroy(e->software.surface_cache);
+   generic_cache_destroy(e->software.surface_cache);
 
EINA_LIST_FREE(e->software.outputs, output)
  ERR("Output %p not properly cleaned before engine destruction.", output);

-- 




[EGIT] [core/efl] master 01/02: elementary_test: Added --autoclose option to elementary_test

2020-06-02 Thread Subhransu Mohanty
hermet pushed a commit to branch master.

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

commit c77a34402a9ea21ce18fb05c01f546f7898cc557
Author: Subhransu Mohanty 
Date:   Wed Jun 3 12:15:05 2020 +0900

elementary_test: Added --autoclose option to elementary_test

Summary:
This option will enable writing tools which will automate running the
elementary test cases.

Reviewers: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11910
---
 src/bin/elementary/test.c | 17 +++--
 1 file changed, 15 insertions(+), 2 deletions(-)

diff --git a/src/bin/elementary/test.c b/src/bin/elementary/test.c
index bfb505e4a3..1bcf69e9cd 100644
--- a/src/bin/elementary/test.c
+++ b/src/bin/elementary/test.c
@@ -681,14 +681,23 @@ _my_win_key_up(void *d EINA_UNUSED, int type EINA_UNUSED, 
Ecore_Event_Key *ev)
return ECORE_CALLBACK_RENEW;
 }
 
+static Eina_Bool
+_auto_close(void *data EINA_UNUSED)
+{
+   elm_exit();
+   return EINA_FALSE;
+}
+
 static void
-my_win_main(const char *autorun, Eina_Bool test_win_only)
+my_win_main(const char *autorun, Eina_Bool test_win_only, Eina_Bool autoclose)
 {
Evas_Object *bg = NULL, *bx0 = NULL, *bx1 = NULL, *lb = NULL, *chk = NULL;
Evas_Object *fr = NULL, *tg = NULL, *sc = NULL, *en = NULL;
Eina_List *l = NULL;
struct elm_test *t = NULL;
 
+   if (autoclose) ecore_timer_add(2, _auto_close, win);
+
if (test_win_only) goto add_tests;
/* Create an elm window - It returns an evas object. This is a little
 * special as the object lives in the canvas that is inside the window
@@ -1414,6 +1423,7 @@ efl_main(void *data EINA_UNUSED,
 {
Efl_Loop_Arguments *arge = ev->info;
Eina_Bool test_win_only = EINA_FALSE;
+   Eina_Bool autoclose = EINA_FALSE;
char *autorun = NULL;
 
if (arge->initialization)
@@ -1454,6 +1464,7 @@ efl_main(void *data EINA_UNUSED,
"$ elementary_test\n"
"$ elementary_test 
--test-win-only [TEST_NAME]\n"
"$ elementary_test -to 
[TEST_NAME]\n\n"
+   "$ elementary_test 
--autoclose\n\n"
"Examples:\n"
"$ elementary_test -to 
Button\n\n"));
   return ;
@@ -1467,6 +1478,8 @@ efl_main(void *data EINA_UNUSED,
}
  else if (eina_streq(arg, "--all") || eina_streq(arg, "-a"))
all_tests = EINA_TRUE;
+ else if (eina_streq(arg, "--autoclose"))
+   autoclose = EINA_TRUE;
  else if ((i == eina_array_count(arge->argv) - 1) && (arg[0] != 
'-'))
autorun = arg;
 
@@ -1476,7 +1489,7 @@ efl_main(void *data EINA_UNUSED,
  {
  }
 
-   my_win_main(autorun, test_win_only); /* create main window */
+   my_win_main(autorun, test_win_only, autoclose); /* create main window */
 
/* FIXME: Hum, no exit code anywhere anymore ? */
 }

-- 




[EGIT] [core/efl] master 01/01: Efl.Canvas.Vg.Object: Optimize Ector Surface Size

2020-06-02 Thread JunsuChoi
hermet pushed a commit to branch master.

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

commit 442fae5c5621636bf52c3467d6d4c7147fd53a5a
Author: JunsuChoi 
Date:   Wed Jun 3 11:37:23 2020 +0900

Efl.Canvas.Vg.Object: Optimize Ector Surface Size

Summary:
The ector surface size was determined by the size of the vg object.
vg object is usually sized by the size of the container.
So, the ector surface is set unnecessarily large.
This patch sets the ector surface size to the path boundary.
And the path boundary refers to the stroke width and miterlimit.

Test Plan:
vector sample
{F3887634}
{F3887632}

[grey area is ector surface size]
{F3887633}

Reviewers: Hermet, kimcinoo, smohanty, herb

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11865
---
 .../ector/software/ector_renderer_software_shape.c |  4 +-
 src/lib/edje/edje_calc.c   |  6 +++
 src/lib/evas/canvas/efl_canvas_vg_container.c  | 35 -
 src/lib/evas/canvas/efl_canvas_vg_object.c | 57 +-
 src/lib/evas/canvas/evas_vg_private.h  |  1 +
 5 files changed, 87 insertions(+), 16 deletions(-)

diff --git a/src/lib/ector/software/ector_renderer_software_shape.c 
b/src/lib/ector/software/ector_renderer_software_shape.c
index d8d804db22..be024ff5d1 100644
--- a/src/lib/ector/software/ector_renderer_software_shape.c
+++ b/src/lib/ector/software/ector_renderer_software_shape.c
@@ -654,8 +654,8 @@ _ector_renderer_software_shape_ector_renderer_draw(Eo *obj 
EINA_UNUSED,
if (task) ector_software_wait(_update_rle, _done_rle, task);
 
// adjust the offset
-   x = pd->surface->x + (int)pd->base->origin.x;
-   y = pd->surface->y + (int)pd->base->origin.y;
+   x = (int)pd->base->origin.x - pd->surface->x;
+   y = (int)pd->base->origin.y - pd->surface->y;
 
ector_software_rasterizer_clip_rect_set(pd->surface->rasterizer, clips);
ector_software_rasterizer_transform_set(pd->surface->rasterizer, 
pd->base->m);
diff --git a/src/lib/edje/edje_calc.c b/src/lib/edje/edje_calc.c
index 93a99254bf..5d3f42344b 100644
--- a/src/lib/edje/edje_calc.c
+++ b/src/lib/edje/edje_calc.c
@@ -3319,17 +3319,23 @@ _edje_vector_recalc_apply(Edje *ed, Edje_Real_Part *ep, 
Edje_Calc_Params *p3 EIN
  }
else
  {
+Eina_Rect viewbox;
+
 snprintf(dest_key, sizeof(dest_key), "edje/vectors/%i", new_id);
 
 efl_file_simple_load(ep->object, ed->file->path, src_key);
 src_root = efl_canvas_vg_object_root_node_get(ep->object);
 efl_ref(src_root);
 
+// Note: Assume that the viewboxes of two interpolation objects are 
the same.
+viewbox = efl_canvas_vg_object_viewbox_get(ep->object);
+
 efl_file_simple_load(ep->object, ed->file->path, dest_key);
 dest_root = efl_canvas_vg_object_root_node_get(ep->object);
 efl_ref(dest_root);
 
 root = efl_duplicate(src_root);
+efl_canvas_vg_object_viewbox_set(ep->object, viewbox);
 
 if (!efl_gfx_path_interpolate(root, src_root, dest_root, pos))
   ERR("Can't interpolate check the svg file");
diff --git a/src/lib/evas/canvas/efl_canvas_vg_container.c 
b/src/lib/evas/canvas/efl_canvas_vg_container.c
index 61bd74e7c3..4516b34ba0 100644
--- a/src/lib/evas/canvas/efl_canvas_vg_container.c
+++ b/src/lib/evas/canvas/efl_canvas_vg_container.c
@@ -280,15 +280,46 @@ _efl_canvas_vg_container_efl_gfx_path_bounds_get(const Eo 
*obj EINA_UNUSED,
 
EINA_LIST_FOREACH(pd->children, l, child)
  {
+Eina_Position2D pos = efl_gfx_entity_position_get(child);
+double miterlimit = 0.0, stroke_gap = 0.0;
+if (efl_isa(child, EFL_CANVAS_VG_SHAPE_CLASS))
+  {
+ miterlimit = efl_gfx_shape_stroke_miterlimit_get(child);
+ stroke_gap = efl_gfx_shape_stroke_width_get(child) * (miterlimit 
<= 0 ? 1 : miterlimit);
+  }
 if (first)
   {
  efl_gfx_path_bounds_get(child, r);
- first = EINA_FALSE;
+ if (r->size.w != 0 && r->size.h != 0)
+   {
+  r->pos.x += pos.x;
+  r->pos.y += pos.y;
+  if (stroke_gap > 1.0)
+{
+   r->pos.x -= (int)(stroke_gap/2.0);
+   r->pos.y -= (int)(stroke_gap/2.0);
+   r->size.w += (int)(stroke_gap);
+   r->size.h += (int)(stroke_gap);
+}
+  first = EINA_FALSE;
+   }
   }
 else
   {
  efl_gfx_path_bounds_get(child, );
- eina_rectangle_union(>rect, );
+ if (s.size.w != 0 && s.size.h != 0)
+   {
+  s.pos.x += pos.x;
+

[EGIT] [core/efl] master 01/01: ecore: Fix Asan stack overflow warning

2020-06-02 Thread Subhransu Mohanty
hermet pushed a commit to branch master.

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

commit e94b5d014f42f53bbcc0e3c12693c801a78f9fcf
Author: Subhransu Mohanty 
Date:   Wed Jun 3 11:17:18 2020 +0900

ecore: Fix Asan stack overflow warning

Summary:
As argument can be passed by register (depending on the compiler 
optimization)
when we take the adress of the nbytes and pass it to send() function which 
reades
4 bytes from it ASAN flags it as a stack overflow . So just assign the 
value to a
local variable to avoid the warning.

Reviewers: Hermet

Reviewed By: Hermet

Subscribers: cedric, #reviewers, #committers

Tags: #efl

Differential Revision: https://phab.enlightenment.org/D11914
---
 src/lib/ecore/ecore_pipe.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/src/lib/ecore/ecore_pipe.c b/src/lib/ecore/ecore_pipe.c
index 4023bfa70f..e884494605 100644
--- a/src/lib/ecore/ecore_pipe.c
+++ b/src/lib/ecore/ecore_pipe.c
@@ -204,6 +204,7 @@ ecore_pipe_write(Ecore_Pipe  *p,
size_t already_written = 0;
int retry = ECORE_PIPE_WRITE_RETRY;
Eina_Bool ok = EINA_FALSE;
+   unsigned int bytes = nbytes;
 
if (!ECORE_MAGIC_CHECK(p, ECORE_MAGIC_PIPE))
  {
@@ -217,7 +218,7 @@ ecore_pipe_write(Ecore_Pipe  *p,
 
do // First write the len into the pipe
  {
-ret = pipe_write(p->fd_write, , sizeof(nbytes));
+ret = pipe_write(p->fd_write, , sizeof(bytes));
 if (ret == sizeof(nbytes))
   {
  retry = ECORE_PIPE_WRITE_RETRY;

-- 




[EGIT] [apps/evisum] master 01/01: ui: don't use const positions.

2020-06-02 Thread Alastair Poole
netstar pushed a commit to branch master.

http://git.enlightenment.org/apps/evisum.git/commit/?id=ceef9ff04978c5329a0d5dbfcdf6dd1a990fae36

commit ceef9ff04978c5329a0d5dbfcdf6dd1a990fae36
Author: Alastair Poole 
Date:   Tue Jun 2 14:28:34 2020 +0100

ui: don't use const positions.
---
 COPYING |  2 +-
 src/bin/ui/ui.c | 15 ---
 2 files changed, 9 insertions(+), 8 deletions(-)

diff --git a/COPYING b/COPYING
index fee2802..6200ea1 100644
--- a/COPYING
+++ b/COPYING
@@ -4,6 +4,6 @@ Source code is released under the ISC license, which can be 
found
 in the LICENSE file.
 
 Images from  from the "Faenza" icon theme:
-See COPYING.GPLv2 which applies to all PNG files in data/images 
+See COPYING.GPLv2 which applies to all PNG files in data/images
 folder.
 
diff --git a/src/bin/ui/ui.c b/src/bin/ui/ui.c
index e2b8029..9765b78 100644
--- a/src/bin/ui/ui.c
+++ b/src/bin/ui/ui.c
@@ -944,6 +944,7 @@ _ui_tab_system_add(Ui *ui)
 {
Evas_Object *parent, *box, *hbox, *frame, *table;
Evas_Object *progress, *button, *plist;
+   int i = 0;
 
parent = ui->content;
 
@@ -1007,7 +1008,7 @@ _ui_tab_system_add(Ui *ui)
evas_object_size_hint_align_set(button, FILL, FILL);
elm_object_text_set(button, _("PID"));
evas_object_show(button);
-   elm_table_pack(table, button, 0, 0, 1, 1);
+   elm_table_pack(table, button, i++, 0, 1, 1);
 
ui->btn_uid = button = elm_button_add(parent);
if (ui->sort_type == SORT_BY_UID)
@@ -1022,7 +1023,7 @@ _ui_tab_system_add(Ui *ui)
evas_object_size_hint_align_set(button, FILL, FILL);
elm_object_text_set(button, _("UID"));
evas_object_show(button);
-   elm_table_pack(table, button, 1, 0, 1, 1);
+   elm_table_pack(table, button, i++, 0, 1, 1);
 
ui->btn_size = button = elm_button_add(parent);
if (ui->sort_type == SORT_BY_SIZE)
@@ -1037,7 +1038,7 @@ _ui_tab_system_add(Ui *ui)
evas_object_size_hint_align_set(button, FILL, FILL);
elm_object_text_set(button, _("Size"));
evas_object_show(button);
-   elm_table_pack(table, button, 2, 0, 1, 1);
+   elm_table_pack(table, button, i++, 0, 1, 1);
 
ui->btn_rss = button = elm_button_add(parent);
if (ui->sort_type == SORT_BY_RSS)
@@ -1052,7 +1053,7 @@ _ui_tab_system_add(Ui *ui)
evas_object_size_hint_align_set(button, FILL, FILL);
elm_object_text_set(button, _("Res"));
evas_object_show(button);
-   elm_table_pack(table, button, 3, 0, 1, 1);
+   elm_table_pack(table, button, i++, 0, 1, 1);
 
ui->btn_cmd = button = elm_button_add(parent);
if (ui->sort_type == SORT_BY_CMD)
@@ -1067,7 +1068,7 @@ _ui_tab_system_add(Ui *ui)
evas_object_size_hint_align_set(button, FILL, FILL);
elm_object_text_set(button, _("Command"));
evas_object_show(button);
-   elm_table_pack(table, button, 4, 0, 1, 1);
+   elm_table_pack(table, button, i++, 0, 1, 1);
 
ui->btn_state = button = elm_button_add(parent);
if (ui->sort_type == SORT_BY_STATE)
@@ -1082,7 +1083,7 @@ _ui_tab_system_add(Ui *ui)
evas_object_size_hint_align_set(button, FILL, FILL);
elm_object_text_set(button, _("State"));
evas_object_show(button);
-   elm_table_pack(table, button, 5, 0, 1, 1);
+   elm_table_pack(table, button, i++, 0, 1, 1);
 
ui->btn_cpu_usage = button = elm_button_add(parent);
if (ui->sort_type == SORT_BY_CPU_USAGE)
@@ -1097,7 +1098,7 @@ _ui_tab_system_add(Ui *ui)
evas_object_size_hint_align_set(button, FILL, FILL);
elm_object_text_set(button, _("CPU %"));
evas_object_show(button);
-   elm_table_pack(table, button, 6, 0, 1, 1);
+   elm_table_pack(table, button, i++, 0, 1, 1);
 
ui->scroller = ui->genlist_procs = plist = elm_genlist_add(parent);
elm_scroller_gravity_set(ui->scroller, 0.0, 1.0);

-- 




[EGIT] [apps/evisum] master 01/01: style: meh meh meh

2020-06-02 Thread Alastair Poole
netstar pushed a commit to branch master.

http://git.enlightenment.org/apps/evisum.git/commit/?id=6af4814590019bb04d65347745d06e1591716fba

commit 6af4814590019bb04d65347745d06e1591716fba
Author: Alastair Poole 
Date:   Tue Jun 2 13:23:41 2020 +0100

style: meh meh meh
---
 src/bin/main.c| 2 +-
 src/bin/ui/ui.h   | 4 ++--
 src/bin/ui/util.c | 1 +
 3 files changed, 4 insertions(+), 3 deletions(-)

diff --git a/src/bin/main.c b/src/bin/main.c
index b40de32..1a16fec 100644
--- a/src/bin/main.c
+++ b/src/bin/main.c
@@ -26,7 +26,7 @@ _win_add(void)
icon = elm_icon_add(win);
elm_icon_standard_set(icon, "evisum");
elm_win_icon_object_set(win, icon);
-   evas_object_resize(win, 1, EVISUM_SIZE_HEIGHT * elm_config_scale_get());
+   evas_object_resize(win, 1, EVISUM_WIN_HEIGHT * elm_config_scale_get());
elm_win_title_set(win, _("EFL System Monitor"));
elm_win_center(win, EINA_TRUE, EINA_TRUE);
 
diff --git a/src/bin/ui/ui.h b/src/bin/ui/ui.h
index 35a08ab..513a746 100644
--- a/src/bin/ui/ui.h
+++ b/src/bin/ui/ui.h
@@ -9,8 +9,8 @@
 
 #define _(STR) gettext(STR)
 
-#define EVISUM_SIZE_WIDTH  600
-#define EVISUM_SIZE_HEIGHT 520
+#define EVISUM_WIN_WIDTH  600
+#define EVISUM_WIN_HEIGHT 520
 
 #define FILL EVAS_HINT_FILL
 #define EXPAND EVAS_HINT_EXPAND
diff --git a/src/bin/ui/util.c b/src/bin/ui/util.c
index ec9ac30..c3adb0b 100644
--- a/src/bin/ui/util.c
+++ b/src/bin/ui/util.c
@@ -1,3 +1,4 @@
+
 static char *
 _man2entry(const char *text)
 {

-- 




[EGIT] [apps/evisum] master 01/01: style: More tidying.

2020-06-02 Thread Alastair Poole
netstar pushed a commit to branch master.

http://git.enlightenment.org/apps/evisum.git/commit/?id=a1d337618da20f24c174255dc32b3c13389e740a

commit a1d337618da20f24c174255dc32b3c13389e740a
Author: Alastair Poole 
Date:   Tue Jun 2 13:19:08 2020 +0100

style: More tidying.

...nothing to interest any users at all!
---
 meson.build  |   2 +-
 src/bin/ui/ui.c  |  42 +++--
 src/bin/ui/ui.h  | 146 ++-
 src/bin/ui/ui_process_view.c |  30 +
 4 files changed, 106 insertions(+), 114 deletions(-)

diff --git a/meson.build b/meson.build
index b6752e3..d98b80d 100644
--- a/meson.build
+++ b/meson.build
@@ -1,6 +1,6 @@
 # Project
 project('evisum', 'c',
-   version  : '0.5.0-alpha',
+   version   : '0.5.0-alpha',
meson_version : '>= 0.40.0')
 
 efl_version = '>= 1.22.0'
diff --git a/src/bin/ui/ui.c b/src/bin/ui/ui.c
index 6493e96..e2b8029 100644
--- a/src/bin/ui/ui.c
+++ b/src/bin/ui/ui.c
@@ -520,6 +520,7 @@ _process_list_feedback_cb(void *data, Ecore_Thread *thread 
EINA_UNUSED,
Eina_List *list, *l, *l_next;
Proc_Info *proc;
Elm_Object_Item *it;
+   int len = 0;
 
ui = data;
 
@@ -527,11 +528,15 @@ _process_list_feedback_cb(void *data, Ecore_Thread 
*thread EINA_UNUSED,
 
list = proc_info_all_get();
 
+   if (ui->search_text && ui->search_text[0])
+ {
+len = strlen(ui->search_text);
+ }
+
EINA_LIST_FOREACH_SAFE(list, l, l_next, proc)
  {
-if ((ui->search_text && ui->search_text[0] &&
-strncasecmp(proc->command, ui->search_text, 
strlen(ui->search_text))
-) || (!ui->show_self && proc->pid == ui->program_pid))
+if (((len && (strncasecmp(proc->command, ui->search_text, len))) ||
+(!ui->show_self && (proc->pid == ui->program_pid
  {
 proc_info_free(proc);
 list = eina_list_remove_list(list, l);
@@ -571,8 +576,6 @@ _process_list_update(Ui *ui)
_process_list_feedback_cb(ui, NULL, NULL);
 }
 
-#define POLL_ONE_SEC 4
-
 static void
 _process_list(void *data, Ecore_Thread *thread)
 {
@@ -584,7 +587,7 @@ _process_list(void *data, Ecore_Thread *thread)
while (1)
  {
 ecore_thread_feedback(thread, ui);
-for (int i = 0; i < delay * POLL_ONE_SEC; i++)
+for (int i = 0; i < delay * 4; i++)
   {
  if (ecore_thread_check(thread)) return;
 
@@ -1315,7 +1318,8 @@ _ui_tabs_add(Evas_Object *parent, Ui *ui)
elm_object_disabled_set(ui->btn_general, EINA_TRUE);
evas_object_size_hint_weight_set(button, EXPAND, EXPAND);
evas_object_size_hint_align_set(button, FILL, FILL);
-   evas_object_size_hint_min_set(button, elm_config_scale_get() * 
TAB_BTN_SIZE, 0);
+   evas_object_size_hint_min_set(button,
+   elm_config_scale_get() * TAB_BTN_SIZE, 0);
elm_object_text_set(button, _("General"));
evas_object_show(button);
elm_object_content_set(border, button);
@@ -1332,7 +1336,8 @@ _ui_tabs_add(Evas_Object *parent, Ui *ui)
ui->btn_cpu = button = elm_button_add(hbox);
evas_object_size_hint_weight_set(button, EXPAND, EXPAND);
evas_object_size_hint_align_set(button, FILL, FILL);
-   evas_object_size_hint_min_set(button, elm_config_scale_get() * 
TAB_BTN_SIZE, 0);
+   evas_object_size_hint_min_set(button,
+   elm_config_scale_get() * TAB_BTN_SIZE, 0);
elm_object_text_set(button, _("CPU"));
elm_object_content_set(border, button);
evas_object_show(button);
@@ -1349,7 +1354,8 @@ _ui_tabs_add(Evas_Object *parent, Ui *ui)
ui->btn_mem = button = elm_button_add(hbox);
evas_object_size_hint_weight_set(button, EXPAND, EXPAND);
evas_object_size_hint_align_set(button, FILL, FILL);
-   evas_object_size_hint_min_set(button, elm_config_scale_get() * 
TAB_BTN_SIZE, 0);
+   evas_object_size_hint_min_set(button,
+   elm_config_scale_get() * TAB_BTN_SIZE, 0);
elm_object_text_set(button, _("Memory"));
evas_object_show(button);
elm_object_content_set(border, button);
@@ -1366,7 +1372,8 @@ _ui_tabs_add(Evas_Object *parent, Ui *ui)
ui->btn_storage = button = elm_button_add(hbox);
evas_object_size_hint_weight_set(button, EXPAND, EXPAND);
evas_object_size_hint_align_set(button, FILL, FILL);
-   evas_object_size_hint_min_set(button, elm_config_scale_get() * 
TAB_BTN_SIZE, 0);
+   evas_object_size_hint_min_set(button,
+   elm_config_scale_get() * TAB_BTN_SIZE, 0);
elm_object_text_set(button, _("Storage"));
evas_object_show(button);
elm_object_content_set(border, button);
@@ -1383,7 +1390,8 @@ _ui_tabs_add(Evas_Object *parent, Ui *ui)
ui->btn_misc = button = elm_button_add(hbox);
evas_object_size_hint_weight_set(button, FILL, EXPAND);
evas_object_size_hint_align_set(button, FILL, FILL);
-   evas_object_size_hint_min_set(button, elm_config_scale_get() * 
TAB_BTN_SIZE, 0);
+   

[EGIT] [core/efl] master 01/01: ci: travis: enable efl-one in our all enabled build

2020-06-02 Thread Stefan Schmidt
stefan pushed a commit to branch master.

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

commit 7e1da900934fcb2d837c65bafe1d086d54830803
Author: Stefan Schmidt 
Date:   Thu May 28 19:32:03 2020 +0200

ci: travis: enable efl-one in our all enabled build

After a successful build we run the efl-one test script to see if it
drags in unwanted libs.

Reviewed-by: Marcel Hollerbach 
Differential Revision: https://phab.enlightenment.org/D11906
---
 .ci/ci-configure.sh | 2 +-
 .ci/ci-make.sh  | 3 +++
 2 files changed, 4 insertions(+), 1 deletion(-)

diff --git a/.ci/ci-configure.sh b/.ci/ci-configure.sh
index 6c2e4e9190..a83535c4c1 100755
--- a/.ci/ci-configure.sh
+++ b/.ci/ci-configure.sh
@@ -17,7 +17,7 @@ if [ "$DISTRO" != "" ] ; then
   ENABLED_LINUX_COPTS=" -Dfb=true -Dsdl=true -Dbuffer=true 
-Dbuild-id=travis-build \
   -Ddebug-threads=true -Dglib=true -Dg-mainloop=true -Dxpresent=true 
-Dxinput22=true \
   -Devas-loaders-disabler=json -Decore-imf-loaders-disabler= \
-  -Dharfbuzz=true -Dpixman=true -Dhyphen=true \
+  -Dharfbuzz=true -Dpixman=true -Dhyphen=true -Defl-one=true \
   -Dvnc-server=true -Dbindings=lua,cxx,mono -Delogind=false 
-Dinstall-eo-files=true -Dphysics=true"
 
   # Enabled png, jpeg evas loader for in tree edje file builds
diff --git a/.ci/ci-make.sh b/.ci/ci-make.sh
index fcb99f781b..210929db2a 100755
--- a/.ci/ci-make.sh
+++ b/.ci/ci-make.sh
@@ -15,6 +15,9 @@ if [ "$DISTRO" != "" ] ; then
 docker exec --env EIO_MONITOR_POLL=1 --env 
COVERITY_SCAN_TOKEN=$COVERITY_SCAN_TOKEN $(cat $HOME/cid) sh -c 
".ci/coverity-upload.sh"
   else
 docker exec --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) ninja -C build
+if [ "$1" = "options-enabled" ]; then # we have efl-one on and want to 
check it after build
+  docker exec --env EIO_MONITOR_POLL=1 $(cat $HOME/cid) python 
scripts/test-efl-one.py build
+fi
   fi
 elif [ "$TRAVIS_OS_NAME" = "osx" ]; then
   latest_brew_python3_bin="$(ls -1d /usr/local/Cellar/python/3.*/bin | sort -n 
| tail -n1)"

-- 




[EGIT] [core/efl] feature/themes/flat 01/01: TH add images.

2020-06-02 Thread Carsten Haitzler
raster pushed a commit to branch feature/themes/flat.

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

commit 43b8cabb1f0f4e3371f9c9df39bdd17ad407b089
Author: Carsten Haitzler (Rasterman) 
Date:   Tue Jun 2 09:31:07 2020 +0100

TH add images.
---
 data/elementary/themes/img/map_circle.svg |  73 
 data/elementary/themes/img/map_marker.svg | 161 ++
 data/elementary/themes/img/win_shad_angle.png | Bin 0 -> 21592 bytes
 data/elementary/themes/img/win_shad_flat.png  | Bin 0 -> 28204 bytes
 data/elementary/themes/img/win_shadow.xcf | Bin 0 -> 326651 bytes
 5 files changed, 234 insertions(+)

diff --git a/data/elementary/themes/img/map_circle.svg 
b/data/elementary/themes/img/map_circle.svg
new file mode 100644
index 00..93626a03aa
--- /dev/null
+++ b/data/elementary/themes/img/map_circle.svg
@@ -0,0 +1,73 @@
+
+
+
+http://purl.org/dc/elements/1.1/;
+   xmlns:cc="http://creativecommons.org/ns#;
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#;
+   xmlns:svg="http://www.w3.org/2000/svg;
+   xmlns="http://www.w3.org/2000/svg;
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd;
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape;
+   version="1.1"
+   id="svg2"
+   width="800"
+   height="800"
+   viewBox="0 0 800 800"
+   sodipodi:docname="map_circle.svg"
+   inkscape:version="0.92.4 5da689c313, 2019-01-14"
+   inkscape:export-filename="/home/raster/C/th-efl/th/img/map_circle.png"
+   inkscape:export-xdpi="96"
+   inkscape:export-ydpi="96">
+  
+
+  
+image/svg+xml
+http://purl.org/dc/dcmitype/StillImage; />
+
+  
+
+  
+  
+  
+
+  
+  
+
diff --git a/data/elementary/themes/img/map_marker.svg 
b/data/elementary/themes/img/map_marker.svg
new file mode 100644
index 00..87844ef0e2
--- /dev/null
+++ b/data/elementary/themes/img/map_marker.svg
@@ -0,0 +1,161 @@
+
+
+
+http://purl.org/dc/elements/1.1/;
+   xmlns:cc="http://creativecommons.org/ns#;
+   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#;
+   xmlns:svg="http://www.w3.org/2000/svg;
+   xmlns="http://www.w3.org/2000/svg;
+   xmlns:xlink="http://www.w3.org/1999/xlink;
+   xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd;
+   xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape;
+   version="1.1"
+   id="svg2"
+   width="65"
+   height="35"
+   viewBox="0 0 65 35"
+   sodipodi:docname="map_marker.svg"
+   inkscape:version="0.92.4 5da689c313, 2019-01-14"
+   inkscape:export-filename="/home/raster/C/th-efl/th/img/map_marker.png"
+   inkscape:export-xdpi="96"
+   inkscape:export-ydpi="96">
+  
+
+  
+image/svg+xml
+http://purl.org/dc/dcmitype/StillImage; />
+
+  
+
+  
+  
+
+  
+  
+
+
+
+
+
+  
+
+
+  
+
+
+  
+
+  
+  
+
+  
+  
+  
+  
+  
+
diff --git a/data/elementary/themes/img/win_shad_angle.png 
b/data/elementary/themes/img/win_shad_angle.png
new file mode 100644
index 00..3090bcc832
Binary files /dev/null and b/data/elementary/themes/img/win_shad_angle.png 
differ
diff --git a/data/elementary/themes/img/win_shad_flat.png 
b/data/elementary/themes/img/win_shad_flat.png
new file mode 100644
index 00..af3e3e305e
Binary files /dev/null and b/data/elementary/themes/img/win_shad_flat.png differ
diff --git a/data/elementary/themes/img/win_shadow.xcf 
b/data/elementary/themes/img/win_shadow.xcf
new file mode 100644
index 00..1041b53836
Binary files /dev/null and b/data/elementary/themes/img/win_shadow.xcf differ

-- 




[EGIT] [core/efl] master 01/01: build: add eet to evas suite

2020-06-02 Thread Marcel Hollerbach
bu5hm4n pushed a commit to branch master.

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

commit 41c90a9ae3d48796884f65efbee995fae50bf7cd
Author: Marcel Hollerbach 
Date:   Tue Jun 2 08:28:27 2020 +0200

build: add eet to evas suite

evas suite seems to use internal headers, which includes eet.
---
 src/tests/evas/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/tests/evas/meson.build b/src/tests/evas/meson.build
index 765afd9960..bee736035f 100644
--- a/src/tests/evas/meson.build
+++ b/src/tests/evas/meson.build
@@ -25,7 +25,7 @@ evas_suite_src = [
 
 evas_suite = executable('evas_suite',
   evas_suite_src,
-  dependencies: [evas_bin, evas, ecore_evas, dl, check, 
evas_ext_none_static_deps], #external deps needed here since tests do include 
internal headers
+  dependencies: [evas_bin, evas, ecore_evas, dl, check, 
evas_ext_none_static_deps, eet], #external deps needed here since tests do 
include internal headers
   include_directories: include_directories(join_paths('..', '..', 'modules', 
'evas', 'engines', 'buffer')),
   c_args : [
   '-DTESTS_BUILD_DIR="'+meson.current_build_dir()+'"',

-- 




[EGIT] [core/efl] master 03/04: efl_access_text: remove ptr usage in eo files

2020-06-02 Thread Ali Alzyod
bu5hm4n pushed a commit to branch master.

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

commit ff3d3b19447c2eaa5378ea2e303f7a696d5370ef
Author: Ali Alzyod 
Date:   Sun May 31 06:16:46 2020 +

efl_access_text: remove ptr usage in eo files

Reviewed-by: Marcel Hollerbach 
Differential Revision: https://phab.enlightenment.org/D11907
---
 src/lib/elementary/efl_access_text.eo | 18 +++
 src/lib/elementary/efl_ui_textbox.c   | 39 ++---
 src/lib/elementary/elm_atspi_bridge.c |  7 +++---
 src/lib/elementary/elm_entry.c| 41 +++
 src/lib/elementary/elm_entry_eo.c |  4 ++--
 src/tests/elementary/elm_test_entry.c | 28 
 6 files changed, 71 insertions(+), 66 deletions(-)

diff --git a/src/lib/elementary/efl_access_text.eo 
b/src/lib/elementary/efl_access_text.eo
index 95cc367c3c..b40dc1a4eb 100644
--- a/src/lib/elementary/efl_access_text.eo
+++ b/src/lib/elementary/efl_access_text.eo
@@ -66,12 +66,12 @@ interface @beta Efl.Access.Text
  }
  keys {
 granularity: Efl.Access.Text_Granularity; [[Text granularity]]
-start_offset: ptr(int); [[Offset indicating start of string 
according to given granularity.
-  -1 in case of error.]]
-end_offset: ptr(int); [[Offset indicating end of string according 
to given granularity.
--1 in case of error.]]
  }
  values {
+start_offset: int; [[Offset indicating start of string according 
to given granularity.
+  -1 in case of error.]]
+end_offset: int; [[Offset indicating end of string according to 
given granularity.
+-1 in case of error.]]
 string: mstring @move; [[Newly allocated UTF-8 encoded string. 
Must be free by a user.]]
  }
   }
@@ -105,10 +105,10 @@ interface @beta Efl.Access.Text
  }
  keys {
 name: string; [[Text attribute name]]
-start_offset: ptr(int); [[Position in text from which given 
attribute is set.]]
-end_offset: ptr(int); [[Position in text to which given attribute 
is set.]]
  }
  values {
+start_offset: int; [[Position in text from which given attribute 
is set.]]
+end_offset: int; [[Position in text to which given attribute is 
set.]]
 value: mstring @move; [[Value of text attribute. Should be free()]]
  }
   }
@@ -116,11 +116,9 @@ interface @beta Efl.Access.Text
  [[Gets list of all text attributes.]]
  get {
  }
- keys {
-start_offset: ptr(int); [[Start offset]]
-end_offset: ptr(int); [[End offset]]
- }
  values {
+start_offset: int; [[Start offset]]
+end_offset: int; [[End offset]]
 attributes: list @move; [[List of text 
attributes]]
  }
   }
diff --git a/src/lib/elementary/efl_ui_textbox.c 
b/src/lib/elementary/efl_ui_textbox.c
index 64f1034638..bd97b47db7 100644
--- a/src/lib/elementary/efl_ui_textbox.c
+++ b/src/lib/elementary/efl_ui_textbox.c
@@ -2099,11 +2099,13 @@ 
_efl_ui_textbox_efl_access_text_character_count_get(const Eo *obj, Efl_Ui_Textbo
return eina_unicode_utf8_get_len(txt);
 }
 
-EOLIAN static char*
-_efl_ui_textbox_efl_access_text_string_get(const Eo *obj EINA_UNUSED, 
Efl_Ui_Textbox_Data *pd, Efl_Access_Text_Granularity granularity, int 
*start_offset, int *end_offset)
+EOLIAN static void
+_efl_ui_textbox_efl_access_text_string_get(const Eo *obj EINA_UNUSED, 
Efl_Ui_Textbox_Data *pd, Efl_Access_Text_Granularity granularity, int 
*start_offset, int *end_offset, char **ret EFL_TRANSFER_OWNERSHIP)
 {
Evas_Textblock_Cursor *cur = NULL, *cur2 = NULL;
-   char *ret = NULL;
+
+   EINA_SAFETY_ON_NULL_RETURN(ret);
+   *ret = NULL;
 
cur = evas_object_textblock_cursor_new(pd->text_obj);
cur2 = evas_object_textblock_cursor_new(pd->text_obj);
@@ -2158,26 +2160,26 @@ _efl_ui_textbox_efl_access_text_string_get(const Eo 
*obj EINA_UNUSED, Efl_Ui_Tex
 
if (end_offset) *end_offset = evas_textblock_cursor_pos_get(cur2);
 
-   ret = evas_textblock_cursor_range_text_get(cur, cur2, 
EVAS_TEXTBLOCK_TEXT_PLAIN);
+   *ret = evas_textblock_cursor_range_text_get(cur, cur2, 
EVAS_TEXTBLOCK_TEXT_PLAIN);
 
evas_textblock_cursor_free(cur);
evas_textblock_cursor_free(cur2);
 
-   if (ret && efl_text_password_get(obj))
+   if (*ret && efl_text_password_get(obj))
  {
 int i = 0;
-while (ret[i] != '\0')
- ret[i++] = ENTRY_PASSWORD_MASK_CHARACTER;
+while (*ret[i] != '\0')
+ *ret[i++] = ENTRY_PASSWORD_MASK_CHARACTER;
  }
 
-   return ret;
+   return;
 
 fail:
if (start_offset) *start_offset = -1;
if (end_offset) *end_offset = -1;

[EGIT] [core/efl] master 01/04: eo: Fix memory leak in efl_key_wref_set() api.

2020-06-02 Thread Subhransu Mohanty
bu5hm4n pushed a commit to branch master.

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

commit 5797129334789c1471bfadb640776b4a5d6e41b4
Author: Subhransu Mohanty 
Date:   Wed May 27 07:39:59 2020 +

eo: Fix memory leak in efl_key_wref_set() api.

Testcase:
   elementary_test -to snapshot

Reviewed-by: Marcel Hollerbach 
Differential Revision: https://phab.enlightenment.org/D11888
---
 src/lib/eo/eo_base_class.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/lib/eo/eo_base_class.c b/src/lib/eo/eo_base_class.c
index 44fe92cf4a..565f4805e8 100644
--- a/src/lib/eo/eo_base_class.c
+++ b/src/lib/eo/eo_base_class.c
@@ -415,7 +415,7 @@ _key_generic_cb_del(void *data, const Efl_Event *event 
EINA_UNUSED)
 {
Eo_Generic_Data_Node *node = data;
Efl_Object_Data *pd = efl_data_scope_get(node->obj, EFL_OBJECT_CLASS);
-   _eo_key_generic_direct_del(pd, node, EINA_FALSE);
+   _eo_key_generic_direct_del(pd, node, EINA_TRUE);
 }
 
 EOLIAN static void

-- 




[EGIT] [core/efl] master 04/04: build: do not link test suite again against static libs

2020-06-02 Thread Marcel Hollerbach
bu5hm4n pushed a commit to branch master.

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

commit 6184bf670fd6ee738585ec215c9a0dc62176659c
Author: Marcel Hollerbach 
Date:   Mon Jun 1 22:32:53 2020 +0200

build: do not link test suite again against static libs

this might result in duplicated symbols.
---
 src/tests/evas/meson.build | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/src/tests/evas/meson.build b/src/tests/evas/meson.build
index b76d4572b3..765afd9960 100644
--- a/src/tests/evas/meson.build
+++ b/src/tests/evas/meson.build
@@ -25,7 +25,7 @@ evas_suite_src = [
 
 evas_suite = executable('evas_suite',
   evas_suite_src,
-  dependencies: [evas_bin, evas, ecore_evas, dl, check, evas_ext_deps], 
#external deps needed here since tests do include internal headers
+  dependencies: [evas_bin, evas, ecore_evas, dl, check, 
evas_ext_none_static_deps], #external deps needed here since tests do include 
internal headers
   include_directories: include_directories(join_paths('..', '..', 'modules', 
'evas', 'engines', 'buffer')),
   c_args : [
   '-DTESTS_BUILD_DIR="'+meson.current_build_dir()+'"',

-- 




[EGIT] [core/efl] master 02/04: elm_gesture_layer: Arrange the logic for delete the target object in gesture cb.

2020-06-02 Thread Woochanlee
bu5hm4n pushed a commit to branch master.

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

commit 5ca1a8c8a7fed96260b7d3faa5a12f55ac790855
Author: Woochanlee 
Date:   Tue May 26 06:36:54 2020 +

elm_gesture_layer: Arrange the logic for delete the target object in 
gesture cb.

When the user receives the callback of gesture callback, erases the target 
object, the gesture layer is deleted.

The memory is may broken and performing unnecessary operations during the 
logic.

Reviewed-by: Marcel Hollerbach 
Differential Revision: https://phab.enlightenment.org/D11838
---
 src/lib/elementary/elm_gesture_layer.c | 31 ++-
 1 file changed, 18 insertions(+), 13 deletions(-)

diff --git a/src/lib/elementary/elm_gesture_layer.c 
b/src/lib/elementary/elm_gesture_layer.c
index 1f729187df..9e1a787c4e 100644
--- a/src/lib/elementary/elm_gesture_layer.c
+++ b/src/lib/elementary/elm_gesture_layer.c
@@ -1145,11 +1145,12 @@ _pending_device_add(Eina_List *list,
  * user may cancel refeed of events by setting repeat events.
  *
  * @param obj The gesture-layer object.
+ * @param need_reset Clear all gestures data or not.
  *
  * @ingroup Elm_Gesture_Layer
  */
 static Eina_Bool
-_event_history_clear(Evas_Object *obj)
+_event_history_clear(Evas_Object *obj, Eina_Bool need_reset)
 {
int i;
Gesture_Info *p;
@@ -1179,16 +1180,17 @@ _event_history_clear(Evas_Object *obj)
_states_reset(sd); /* we are ready to start testing for gestures again */
 
/* Clear all gestures intermediate data */
-   {
-  /* FIXME: +1 because of the mistake in the enum. */
-  Gesture_Info **gitr = sd->gesture + 1;
-  Tests_Array_Funcs *fitr = _glayer_tests_array + 1;
-  for (; fitr->reset; fitr++, gitr++)
-{
-   if (IS_TESTED_GESTURE(*gitr))
- fitr->reset(*gitr);
-}
-   }
+   if (need_reset)
+ {
+/* FIXME: +1 because of the mistake in the enum. */
+Gesture_Info **gitr = sd->gesture + 1;
+Tests_Array_Funcs *fitr = _glayer_tests_array + 1;
+for (; fitr->reset; fitr++, gitr++)
+  {
+ if (IS_TESTED_GESTURE(*gitr))
+   fitr->reset(*gitr);
+  }
+ }
 
/* Disable gesture layer so refeeded events won't be consumed by it */
_callbacks_unregister(obj);
@@ -1263,7 +1265,7 @@ _clear_if_finished(Evas_Object *obj)
  }
 
if (reset_s && (!all_undefined))
- return _event_history_clear(obj);
+ return _event_history_clear(obj, EINA_TRUE);
 
return EINA_FALSE;
 }
@@ -1348,6 +1350,7 @@ _event_process(void *data,
 
ELM_GESTURE_LAYER_DATA_GET(data, sd);
 
+   evas_object_ref(sd->target);
/* Start testing candidate gesture from here */
if (_pointer_event_make(data, event_info, event_type, &_pe))
  pe = &_pe;
@@ -1386,6 +1389,8 @@ _event_process(void *data,
Eina_Bool states_reset = _clear_if_finished(data);
if (sd->glayer_continues_enable)
  _continues_gestures_restart(data, states_reset);
+
+   evas_object_unref(sd->target);
 }
 
 static Eina_Bool
@@ -3812,7 +3817,7 @@ _elm_gesture_layer_efl_canvas_group_group_del(Eo *obj, 
Elm_Gesture_Layer_Data *s
ecore_timer_del(sd->gest_taps_timeout);
 
/* Then take care of clearing events */
-   _event_history_clear(obj);
+   _event_history_clear(obj, EINA_FALSE);
sd->pending = eina_list_free(sd->pending);
 
EINA_LIST_FREE(sd->touched, data)

--