[EGIT] [core/efl] master 02/02: evas/engine: Fix memory leak in generic cache.
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
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
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
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.
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
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.
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
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.
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
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
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.
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
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.
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) --