[EGIT] [core/efl] master 01/01: eet: initialize descriptor class' func.type_get and func.type_set
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3db14bf8dd85a57826b048d8be1dc827c1752076 commit 3db14bf8dd85a57826b048d8be1dc827c1752076 Author: Jaehyun Cho Date: Mon May 24 17:50:03 2021 +0900 eet: initialize descriptor class' func.type_get and func.type_set Summary: Descriptor class' func.type_get and func.type_set are initialized with NULL. Change-Id: I94526c2421c1fa2924a705cd2341130905df1da0 Reviewers: Hermet Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12279 --- src/lib/eet/eet_data.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lib/eet/eet_data.c b/src/lib/eet/eet_data.c index 3815db3d4f..3ed40b7c9b 100644 --- a/src/lib/eet/eet_data.c +++ b/src/lib/eet/eet_data.c @@ -1945,6 +1945,8 @@ eet_eina_stream_data_descriptor_class_set(Eet_Data_Descriptor_Class *eddc, eddc->func.hash_foreach = (void (*)(void *, int (*)(void *, const char *, void *, void *), void *))_eet_eina_hash_foreach; eddc->func.hash_add = (void *(*)(void *, const char *, void *))_eet_eina_hash_add_alloc; eddc->func.hash_free = (void (*)(void *))_eet_eina_hash_free; + eddc->func.type_get = NULL; + eddc->func.type_set = NULL; /* This will cause an ABI incompatibility */ eddc->func.array_alloc = _eet_mem_alloc; --
[EGIT] [admin/devs] master 01/01: update sanghyeonlee's pub key
jaehyun pushed a commit to branch master. http://git.enlightenment.org/admin/devs.git/commit/?id=b8354ff1744bf6e7aeb0169e29916017399a6280 commit b8354ff1744bf6e7aeb0169e29916017399a6280 Author: Jaehyun Cho Date: Fri Mar 26 17:13:52 2021 +0900 update sanghyeonlee's pub key --- developers/sanghyeonlee/id_rsa.pub | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/developers/sanghyeonlee/id_rsa.pub b/developers/sanghyeonlee/id_rsa.pub index 694d3bc..382e738 100644 --- a/developers/sanghyeonlee/id_rsa.pub +++ b/developers/sanghyeonlee/id_rsa.pub @@ -1 +1 @@ -ssh-rsa B3NzaC1yc2EDAQABAAABAQClq5KwmQn5pFILPDyMxoek6lxpR2uAzD47kqZ1sfRKlG980vmBEJosg5Wwt6wg8rKvoAt0e3tcU6WngOvNLstwFkBVvGl9VXKwKvUOEEN5nwcjUBKw337B3xjQm9Iwe5XFVJW6tgE2woPYSFJ3XFqxmMxSQBPNYC2WGrniFAfCUwPaOmtz0jby9DfuzOXtH6smo9+WU0qaDquNl/DCnkKPBhCT6J/8uEGiDlxnbW+z3dBOpkoUfKPWz8UgWf11QYMk/qbLcnnADBp+NBJPQormARmf+8fM+Z9Td90VXVrAsVUV8ej1VQNVcpx6svIpOpFxlmZES6fDC33NlOQ/N8fL sh10233lee@sh10233lee-linux +ssh-rsa B3NzaC1yc2EDAQABAAABgQDE2WJn2/SAIKHIhI3UyfhYnoBynXJJF1vEWjet7BL4p3zEi26W5nZn6NgZl+GQWq/rgg+lhJ1fDm1hjGiNqnDj/NteRGuWSUvgcyGOB9PfDR/zAX3Prt7fKd+e3YttuMjUpAFO6UjSRT8OLKHOCbrSf5Iyolz1yzdGaBGJFcwWkkW1voXf+4pEAKl4JiMFN8JYcoC+hgdQlBQ4K2oHVsz2fmTKO8IxyZoNACtu05/sh4vTtO6jrXFgzBrU9wVqOZVqPkrLDfUFVAKR3bCa4yB5wxTDoZpAp9NOJfKzhc+nYXixM/Gb7C4+MSmo8tDHsE8JFWGnBHFiytfqIfMdA2ROnidNR5MkvwZyVtUUSP9+4k2HZgedkTPLJo0ULWIBk1T6BKTjgjIOSewl0xx9H4JZ8u4UMgGP0pw/wz1/5m6LlWWv+QESUTG4XCGoW4WRtEu4sHZ4 [...] --
[EGIT] [core/efl] master 01/01: edje_entry: fix a potential error of null deref
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d3d3af369bd84a7e0a4d4d2e4e9708104c2bbdf7 commit d3d3af369bd84a7e0a4d4d2e4e9708104c2bbdf7 Author: Jaehyun Cho Date: Thu Feb 4 11:00:14 2021 +0900 edje_entry: fix a potential error of null deref Summary: This is a patch to fix a potential error of null dereferencing. This patch is based on D12087. Reviewers: Hermet, jsuya Reviewed By: jsuya Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12241 --- src/lib/edje/edje_entry.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/lib/edje/edje_entry.c b/src/lib/edje/edje_entry.c index ab48c3dd3a..b62c12b631 100644 --- a/src/lib/edje/edje_entry.c +++ b/src/lib/edje/edje_entry.c @@ -1279,6 +1279,8 @@ _anchors_update(Evas_Textblock_Cursor *c EINA_UNUSED, Evas_Object *o, Entry *en) { Evas_Textblock_Rectangle *r; + if (!range) break; + r = range->data; *(&(sel->rect)) = *r; if (_is_anchors_outside_viewport(y, r->y, r->h, vy, tvh) || --
[EGIT] [core/efl] master 01/01: elm_gesture_layer: fix crash caused by elm_gesture_layer_cb_del in cb
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=cb059ea0afde20535d1521da510f74411b96a605 commit cb059ea0afde20535d1521da510f74411b96a605 Author: Jaehyun Cho Date: Mon Sep 7 14:35:12 2020 +0900 elm_gesture_layer: fix crash caused by elm_gesture_layer_cb_del in cb elm_gesture_layer_cb_del can be called in Elm_Gesture_Event_Cb cb set by elm_gesture_layer_cb_set and cb_info of the cb is free in the cb. This causes crash if cb_info is searched with EINA_INLIST_FOREACH. --- src/lib/elementary/elm_gesture_layer.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib/elementary/elm_gesture_layer.c b/src/lib/elementary/elm_gesture_layer.c index e7fb88348c..5e6932c0af 100644 --- a/src/lib/elementary/elm_gesture_layer.c +++ b/src/lib/elementary/elm_gesture_layer.c @@ -614,8 +614,10 @@ _state_report(Gesture_Info *gesture, * send ptr to user * callback */ { +Eina_Inlist *itr; Func_Data *cb_info; -EINA_INLIST_FOREACH(gesture->cbs[gesture->state], cb_info) +/* elm_gesture_layer_cb_del can be called in Elm_Gesture_Event_Cb cb */ +EINA_INLIST_FOREACH_SAFE(gesture->cbs[gesture->state], itr, cb_info) flags |= cb_info->cb(cb_info->user_data, info); } --
[EGIT] [core/efl] master 01/01: edje_embryo: fix memory leak in ALLOC_COPY_DESC
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=cc0328d9e50573ec45715238258c167622702fc1 commit cc0328d9e50573ec45715238258c167622702fc1 Author: Jaehyun Cho Date: Tue Aug 4 15:11:35 2020 +0900 edje_embryo: fix memory leak in ALLOC_COPY_DESC Summary: If memory allocation fails in ALLOC_COPY_DESC, then the allocated memory is not free. To fix this memory leak, memory allocation of Edje_Real_Part_State is done prior to ALLOC_COPY_DESC. Reviewers: Hermet Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D12082 --- src/lib/edje/edje_embryo.c | 15 --- 1 file changed, 8 insertions(+), 7 deletions(-) diff --git a/src/lib/edje/edje_embryo.c b/src/lib/edje/edje_embryo.c index b4ffbfc32d..bb3828ab3d 100644 --- a/src/lib/edje/edje_embryo.c +++ b/src/lib/edje/edje_embryo.c @@ -2089,6 +2089,11 @@ _edje_embryo_fn_custom_state(Embryo_Program *ep, Embryo_Cell *params) if (!(parent = _edje_part_description_find(ed, rp, name, val, EINA_TRUE))) return 0; + rp->custom = eina_mempool_malloc(_edje_real_part_state_mp, sizeof (Edje_Real_Part_State)); + if (!rp->custom) return 0; + + memset(rp->custom, 0, sizeof (Edje_Real_Part_State)); + /* now create the custom state */ switch (rp->part->type) { @@ -2123,17 +2128,13 @@ case EDJE_PART_TYPE_##Short: \ ALLOC_COPY_DESC(VECTOR, Vector, d, vg); } - if (!d) return 0; - - rp->custom = eina_mempool_malloc(_edje_real_part_state_mp, sizeof (Edje_Real_Part_State)); - if (!rp->custom) + if (!d) { -free(d); +eina_mempool_free(_edje_real_part_state_mp, rp->custom); +rp->custom = NULL; return 0; } - memset(rp->custom, 0, sizeof (Edje_Real_Part_State)); - *d = *parent; d->state.name = (char *)eina_stringshare_add("custom"); --
[EGIT] [core/efl] master 01/01: edje_embryo: fix null pointer dereference in ALLOC_COPY_DESC
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=9dde786ffeebcac4975f3a1e2084b860d1087a2f commit 9dde786ffeebcac4975f3a1e2084b860d1087a2f Author: Jaehyun Cho Date: Mon Aug 3 20:22:08 2020 +0900 edje_embryo: fix null pointer dereference in ALLOC_COPY_DESC To fix null pointer dereference in ALLOC_COPY_DESC, allocated variable "new" is checked. --- src/lib/edje/edje_embryo.c | 1 + 1 file changed, 1 insertion(+) diff --git a/src/lib/edje/edje_embryo.c b/src/lib/edje/edje_embryo.c index ef4c3f8ef9..b4ffbfc32d 100644 --- a/src/lib/edje/edje_embryo.c +++ b/src/lib/edje/edje_embryo.c @@ -2102,6 +2102,7 @@ case EDJE_PART_TYPE_##Short: \ Edje_Part_Description_##Type * new; \ tmp = (Edje_Part_Description_##Type *)parent; \ new = calloc(1, sizeof (Edje_Part_Description_##Type)); \ + if (!new) break;\ new->Spec = tmp->Spec; \ To = >common; \ break; \ --
[EGIT] [core/efl] master 01/01: edje_embryo: fix to use parameter of macro ALLOC_COPY_DESC
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6f981794ad64c1c43a7c79d9d8de4999aa600318 commit 6f981794ad64c1c43a7c79d9d8de4999aa600318 Author: Jaehyun Cho Date: Mon Aug 3 19:22:27 2020 +0900 edje_embryo: fix to use parameter of macro ALLOC_COPY_DESC The parameter "To" of macro ALLOC_COPY_DESC is not used. To use the parameter "To", "d" is replaced to "To". --- src/lib/edje/edje_embryo.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/edje/edje_embryo.c b/src/lib/edje/edje_embryo.c index df102b35b8..ef4c3f8ef9 100644 --- a/src/lib/edje/edje_embryo.c +++ b/src/lib/edje/edje_embryo.c @@ -2103,7 +2103,7 @@ case EDJE_PART_TYPE_##Short: \ tmp = (Edje_Part_Description_##Type *)parent; \ new = calloc(1, sizeof (Edje_Part_Description_##Type)); \ new->Spec = tmp->Spec; \ - d = >common; \ + To = >common; \ break; \ } --
[EGIT] [core/efl] master 01/01: evas_gl_core: fix memory leak of EVGL_Resource
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=52df41b2179d2b2b01dd8b31054d38dc28e4327e commit 52df41b2179d2b2b01dd8b31054d38dc28e4327e Author: Jaehyun Cho Date: Mon Aug 3 15:54:35 2020 +0900 evas_gl_core: fix memory leak of EVGL_Resource If eng_data is NULL and rsc is not NULL in _internal_resources_destroy, then the allocated EVGL_Resource rsc is not free. To resolve this memory leak, eng_data and rsc are checked separately. --- src/modules/evas/engines/gl_common/evas_gl_core.c | 8 +++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/src/modules/evas/engines/gl_common/evas_gl_core.c b/src/modules/evas/engines/gl_common/evas_gl_core.c index 96d0807c39..786c54c825 100644 --- a/src/modules/evas/engines/gl_common/evas_gl_core.c +++ b/src/modules/evas/engines/gl_common/evas_gl_core.c @@ -88,7 +88,13 @@ error: static void _internal_resources_destroy(void *eng_data, EVGL_Resource *rsc) { - if ((!eng_data) || (!rsc)) return; + if (!rsc) return; + + if (!eng_data) + { +free(rsc); +return; + } if (rsc->context) evgl_engine->funcs->context_destroy(eng_data, rsc->context); --
[EGIT] [core/efl] master 01/01: elc_naviframe: fix to show pushed item if top item is deleted
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1e06c01f823ce652de5d9b21c19d2677d2788844 commit 1e06c01f823ce652de5d9b21c19d2677d2788844 Author: Jaehyun Cho Date: Wed Jul 1 15:49:40 2020 +0900 elc_naviframe: fix to show pushed item if top item is deleted If top item is deleted in "transition,finished" smart callback by user before _on_item_push_finished is not finished, then pushed item is hidden in _on_item_push_finished and no item is visible. To resolve the above issue, _on_item_push_finished does not hide pushed item if pushed item becomes top item. --- src/lib/elementary/elc_naviframe.c | 7 +++ 1 file changed, 7 insertions(+) diff --git a/src/lib/elementary/elc_naviframe.c b/src/lib/elementary/elc_naviframe.c index 894d88e641..e68d5803b2 100644 --- a/src/lib/elementary/elc_naviframe.c +++ b/src/lib/elementary/elc_naviframe.c @@ -1088,6 +1088,13 @@ _on_item_push_finished(void *data, ELM_NAVIFRAME_DATA_GET(WIDGET(it), sd); + /* If pushed item becomes top item, then do not hide pushed item view. +* If top item is deleted in "transition,finished" smart callback by user +* before this function is called, then pushed item becomes top item. +*/ + if (EO_OBJ(it) == elm_naviframe_top_item_get(WIDGET(it))) + return; + evas_object_hide(VIEW(it)); elm_object_signal_emit(VIEW(it), "elm,state,invisible", "elm"); --
[EGIT] [core/efl] master 01/01: evas_object_table: fix not to use hint_fill on elm_table
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d2291f55dc1b904a98d12611a466223949aa294f commit d2291f55dc1b904a98d12611a466223949aa294f Author: Jaehyun Cho Date: Tue Jun 16 20:40:59 2020 +0900 evas_object_table: fix not to use hint_fill on elm_table Summary: The hint_fill logic in evas_object_table was designed to be used for Efl.Ui.Table not for elm_table. Since Efl.Ui.Table does not use evas_object_table logic, hint_fill logic in evas_object_table is removed. Reviewers: YOhoho Reviewed By: YOhoho Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11982 --- src/lib/evas/canvas/evas_object_table.c | 7 ++- 1 file changed, 2 insertions(+), 5 deletions(-) diff --git a/src/lib/evas/canvas/evas_object_table.c b/src/lib/evas/canvas/evas_object_table.c index e07496adb1..9d261bcd84 100644 --- a/src/lib/evas/canvas/evas_object_table.c +++ b/src/lib/evas/canvas/evas_object_table.c @@ -328,7 +328,6 @@ _evas_object_table_calculate_hints_homogeneous(Evas_Object *o, Evas_Table_Data * Evas_Object_Table_Option *opt; Evas_Coord minw, minh, o_minw, o_minh; Eina_Bool expand_h, expand_v; - Eina_Bool fill_h, fill_v; o_minw = 0; o_minh = 0; @@ -349,8 +348,6 @@ _evas_object_table_calculate_hints_homogeneous(Evas_Object *o, Evas_Table_Data * (child, >pad.l, >pad.r, >pad.t, >pad.b); evas_object_size_hint_align_get(child, >align.h, >align.v); evas_object_size_hint_weight_get(child, , ); -//only for Efl.Ui.Table -efl_gfx_hint_fill_get(child, _h, _v); child_minw = opt->min.w + opt->pad.l + opt->pad.r; child_minh = opt->min.h + opt->pad.t + opt->pad.b; @@ -376,13 +373,13 @@ _evas_object_table_calculate_hints_homogeneous(Evas_Object *o, Evas_Table_Data * expand_v = 1; } -opt->fill_h = fill_h; +opt->fill_h = 0; if (opt->align.h < 0.0) { opt->align.h = 0.5; opt->fill_h = 1; } -opt->fill_v = fill_v; +opt->fill_v = 0; if (opt->align.v < 0.0) { opt->align.v = 0.5; --
[EGIT] [core/efl] efl-1.24 28/31: edje_cc_handlers: update documentation of "fixed" to be clearer
stefan pushed a commit to branch efl-1.24. http://git.enlightenment.org/core/efl.git/commit/?id=b9d126d2e2c45b5e1a856dd621af30761b2cc3ab commit b9d126d2e2c45b5e1a856dd621af30761b2cc3ab Author: Jaehyun Cho Date: Thu Jun 11 18:57:30 2020 +0900 edje_cc_handlers: update documentation of "fixed" to be clearer Summary: Since "fixed" does not affect the group size by the part's min size, the documentation is updated to be clearer. Reviewers: woohyun, raster Reviewed By: woohyun Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11934 --- src/bin/edje/edje_cc_handlers.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c index 16996932ff..0ced3e3308 100644 --- a/src/bin/edje/edje_cc_handlers.c +++ b/src/bin/edje/edje_cc_handlers.c @@ -8830,8 +8830,8 @@ st_collections_group_parts_part_description_align(void) This affects the minimum size calculation. See edje_object_size_min_calc() and edje_object_size_min_restricted_calc(). This tells the min size calculation routine that this part does not -change size in width or height (1 for it doesn't, 0 for it does), so -the routine should not try and expand or contract the part. +change group size in width or height (1 for it doesn't, 0 for it does), +so the routine should not try and expand or contract the group. Defaults: 0 0 @endproperty --
[EGIT] [core/efl] master 01/01: edje_cc_handlers: update documentation of "fixed" to be clearer
woohyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6ff0241706ea1f823c626faced4e318c0b36e6c8 commit 6ff0241706ea1f823c626faced4e318c0b36e6c8 Author: Jaehyun Cho Date: Thu Jun 11 18:57:30 2020 +0900 edje_cc_handlers: update documentation of "fixed" to be clearer Summary: Since "fixed" does not affect the group size by the part's min size, the documentation is updated to be clearer. Reviewers: woohyun, raster Reviewed By: woohyun Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11934 --- src/bin/edje/edje_cc_handlers.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/edje/edje_cc_handlers.c b/src/bin/edje/edje_cc_handlers.c index 16996932ff..0ced3e3308 100644 --- a/src/bin/edje/edje_cc_handlers.c +++ b/src/bin/edje/edje_cc_handlers.c @@ -8830,8 +8830,8 @@ st_collections_group_parts_part_description_align(void) This affects the minimum size calculation. See edje_object_size_min_calc() and edje_object_size_min_restricted_calc(). This tells the min size calculation routine that this part does not -change size in width or height (1 for it doesn't, 0 for it does), so -the routine should not try and expand or contract the part. +change group size in width or height (1 for it doesn't, 0 for it does), +so the routine should not try and expand or contract the group. Defaults: 0 0 @endproperty --
[EGIT] [core/efl] master 01/01: elc_naviframe: fix to delete item once by elm_object_item_del in pop_cb
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=2f9b4a7080b0b3ed1cf3f98e73f19e7fa135afae commit 2f9b4a7080b0b3ed1cf3f98e73f19e7fa135afae Author: Jaehyun Cho Date: Fri Mar 6 13:25:04 2020 +0900 elc_naviframe: fix to delete item once by elm_object_item_del in pop_cb If elm_object_item_del is called in pop_cb and pop_cb returns EINA_FALSE, then the given item is destructed by _item_noref when efl_unref is called after pop_cb. After the above destruction, efl_del is called after the above efl_unref and it deletes the item again. Not to delete item after the item is destructed, efl_del after pop_cb is removed. --- src/bin/elementary/test_naviframe.c | 43 ++--- src/lib/elementary/elc_naviframe.c | 4 +--- 2 files changed, 41 insertions(+), 6 deletions(-) diff --git a/src/bin/elementary/test_naviframe.c b/src/bin/elementary/test_naviframe.c index 81696148ba..36e4bdb332 100644 --- a/src/bin/elementary/test_naviframe.c +++ b/src/bin/elementary/test_naviframe.c @@ -65,6 +65,43 @@ _promote(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) elm_naviframe_item_promote(data); } +Eina_Bool +_pop_cb(void *data EINA_UNUSED, Elm_Object_Item *it) +{ + elm_object_item_del(it); + + /* If EINA_TRUE is returned, pop transition effect happens and then the item +* is automatically deleted. +* If EINA_FALSE is returned, pop transition effect does not happen and the +* item is not automatically deleted. +*/ + return EINA_FALSE; +} + +void +_page9(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) +{ + Evas_Object *bt, *bt2, *nf = data; + Elm_Object_Item *it; + + bt = elm_button_add(nf); + evas_object_size_hint_align_set(bt, EVAS_HINT_FILL, EVAS_HINT_FILL); + BUTTON_TEXT_SET(bt, "Page 8"); + + bt2 = elm_button_add(nf); + evas_object_size_hint_align_set(bt2, EVAS_HINT_FILL, EVAS_HINT_FILL); + BUTTON_TEXT_SET(bt2, "Page 1"); + evas_object_smart_callback_add(bt2, "clicked", _promote, + evas_object_data_get(nf, "page1")); + + it = elm_naviframe_item_push(nf, "Page 9", bt, bt2, NULL, NULL); + elm_object_item_part_text_set(it, "subtitle", "Callback for naviframe item pop is set"); + + elm_naviframe_item_pop_cb_set(it, _pop_cb, NULL); + + evas_object_smart_callback_add(bt, "clicked", _navi_pop, nf); +} + void _page8(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) { @@ -78,9 +115,9 @@ _page8(void *data, Evas_Object *obj EINA_UNUSED, void *event_info EINA_UNUSED) bt2 = elm_button_add(nf); evas_object_size_hint_align_set(bt2, EVAS_HINT_FILL, EVAS_HINT_FILL); - BUTTON_TEXT_SET(bt2, "Page 1"); - evas_object_smart_callback_add(bt2, "clicked", _promote, - evas_object_data_get(nf, "page1")); + BUTTON_TEXT_SET(bt2, "Page 9"); + evas_object_smart_callback_add(bt2, "clicked", _page9, nf); + content = _content_new(nf, img6); it = elm_naviframe_item_push(nf, "Page 8", bt, bt2, content, NULL); elm_object_item_part_text_set(it, "subtitle", "Overlap style!"); diff --git a/src/lib/elementary/elc_naviframe.c b/src/lib/elementary/elc_naviframe.c index 10368cb014..894d88e641 100644 --- a/src/lib/elementary/elc_naviframe.c +++ b/src/lib/elementary/elc_naviframe.c @@ -1733,9 +1733,7 @@ _elm_naviframe_item_pop(Eo *obj, Elm_Naviframe_Data *sd) if (!it->pop_cb(it->pop_data, eo_item)) { efl_unref(eo_item); - if (it->delete_me) - efl_del(eo_item); - else + if (!it->delete_me) { /* To avoid multiple item pops, the auto pushed button deletes its clicked callback once it is called. --
[EGIT] [core/efl] master 01/01: edje_load: fix possible null pointer dereference
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=070333c8cc72effb209d9023e3ace681e35dced5 commit 070333c8cc72effb209d9023e3ace681e35dced5 Author: Jaehyun Cho Date: Wed Feb 26 16:52:38 2020 +0900 edje_load: fix possible null pointer dereference --- src/lib/edje/edje_load.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/lib/edje/edje_load.c b/src/lib/edje/edje_load.c index a3c2e3ca15..553d989a81 100644 --- a/src/lib/edje/edje_load.c +++ b/src/lib/edje/edje_load.c @@ -954,8 +954,10 @@ _edje_object_file_set_internal(Evas_Object *obj, const Eina_File *file, const ch case EDJE_PART_TYPE_VECTOR: rp->type = EDJE_RP_TYPE_VECTOR; rp->typedata.vector = calloc(1, sizeof(Edje_Real_Part_Vector)); - if (!rp->typedata.vector) memerr = EINA_TRUE; - rp->typedata.vector->current_id = -1; + if (!rp->typedata.vector) + memerr = EINA_TRUE; + else + rp->typedata.vector->current_id = -1; break; default: --
[EGIT] [core/efl] master 01/01: database_expr: fix memory leak when type error happens
q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=4f88dfd10db05568b912e2ab76f62af5ab78aa23 commit 4f88dfd10db05568b912e2ab76f62af5ab78aa23 Author: Jaehyun Cho Date: Mon Feb 24 15:52:25 2020 +0100 database_expr: fix memory leak when type error happens Summary: Memory leak is fixed when type error happens. Reviewers: q66 Reviewed By: q66 Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11400 --- src/lib/eolian/database_expr.c | 5 - 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/src/lib/eolian/database_expr.c b/src/lib/eolian/database_expr.c index 38794a2f3c..b6d79bb19c 100644 --- a/src/lib/eolian/database_expr.c +++ b/src/lib/eolian/database_expr.c @@ -529,7 +529,10 @@ eval_exp(const Eolian_Unit *unit, Eolian_Expression *expr, /* assert int here, as we're clearly dealing with enum */ if (!(mask & EOLIAN_MASK_INT)) - return expr_type_error(expr, EOLIAN_MASK_INT, mask); + { + free(fulln); + return expr_type_error(expr, EOLIAN_MASK_INT, mask); + } etpd = eolian_unit_alias_by_name_get(unit, fulln); if (etpd && cb) cb((const Eolian_Object *)etpd, data); --
[EGIT] [core/efl] master 01/01: Revert "elm_spinner: Fixed to apply the %d format."
bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c8f26d96919f22e1d76e60c29c9dd9aac963293c commit c8f26d96919f22e1d76e60c29c9dd9aac963293c Author: Jaehyun Cho Date: Fri Feb 21 09:07:13 2020 + Revert "elm_spinner: Fixed to apply the %d format." This reverts commit b8a24679a6f7995ccc1da19eb86c6c2ef6826d1a. Differential Revision: https://phab.enlightenment.org/D11394 --- src/lib/elementary/elm_slider.c| 102 ++--- src/lib/elementary/elm_widget_slider.h | 1 - 2 files changed, 6 insertions(+), 97 deletions(-) diff --git a/src/lib/elementary/elm_slider.c b/src/lib/elementary/elm_slider.c index a533fd5188..2c6c26b84d 100644 --- a/src/lib/elementary/elm_slider.c +++ b/src/lib/elementary/elm_slider.c @@ -1348,45 +1348,17 @@ _elm_slider_part_indicator_efl_ui_format_format_cb_set(Eo *obj, void *_pd EINA_U efl_canvas_group_change(pd->obj); } -static Eina_Bool -_do_format_string(Elm_Slider_Data *sd, Eina_Strbuf *str, const Eina_Value value) -{ - switch (sd->indi_format_int) - { - case 0: -{ - double v = 0.0; - if (!eina_value_double_convert(, )) - ERR("Format conversion failed"); - eina_strbuf_append_printf(str, sd->indi_template, v); - break; -} - case 1: -{ - int v = 0; - if (!eina_value_int_convert(, )) - ERR("Format conversion failed"); - eina_strbuf_append_printf(str, sd->indi_template, v); - break; -} - default: - return EINA_FALSE; - } - return EINA_TRUE; -} - static Eina_Bool _indi_default_format_cb(void *data, Eina_Strbuf *str, const Eina_Value value) { + const Eina_Value_Type *type = eina_value_type_get(); Elm_Slider_Data *sd = efl_data_scope_get(data, ELM_SLIDER_CLASS); + double v; - if (!_do_format_string(sd, str, value)) - { -/* Fallback to just printing the value if format string fails (legacy behavior) */ -char *v = eina_value_to_string(); -eina_strbuf_append(str, v); -free(v); - } + if (type != EINA_VALUE_TYPE_DOUBLE) return EINA_FALSE; + + eina_value_get(, ); + eina_strbuf_append_printf(str, sd->indi_template, v); return EINA_TRUE; } @@ -1403,67 +1375,6 @@ _indi_default_format_free_cb(void *data) } } -static Eina_Bool -_is_valid_digit(char x) -{ - return ((x >= '0' && x <= '9') || (x == '.')) ? EINA_TRUE : EINA_FALSE; -} - -static Eina_Bool -_format_string_check(const char *fmt) -{ - const char *itr; - Eina_Bool found = EINA_FALSE; - Eina_Bool ret = EINA_FALSE; - - for (itr = fmt; *itr; itr++) - { -if (itr[0] != '%') continue; -if (itr[1] == '%') - { - itr++; - continue; - } - -if (!found) - { - found = EINA_TRUE; - for (itr++; *itr; itr++) - { - // FIXME: This does not properly support int64 or unsigned. - if ((*itr == 'd') || (*itr == 'u') || (*itr == 'i') || - (*itr == 'o') || (*itr == 'x') || (*itr == 'X')) -{ - ret = EINA_TRUE; - break; -} - else if ((*itr == 'f') || (*itr == 'F')) -{ - ret = EINA_FALSE; - break; -} - else if (_is_valid_digit(*itr)) -{ - continue; -} - else -{ - ERR("Format string '%s' has unknown format element '%c' in format. It must have one format element of type 's', 'f', 'F', 'd', 'u', 'i', 'o', 'x' or 'X'", fmt, *itr); - found = EINA_FALSE; - break; -} - } - if (!(*itr)) break; - } -else - { - break; - } - } - - return ret; -} - EOLIAN static void _elm_slider_part_indicator_efl_ui_format_format_string_set(Eo *obj, void *_pd EINA_UNUSED, const char *template, Efl_Ui_Format_String_Type type EINA_UNUSED) { @@ -1472,7 +1383,6 @@ _elm_slider_part_indicator_efl_ui_format_format_string_set(Eo *obj, void *_pd EI if (!template) return; eina_stringshare_replace(>indi_template, template); - sd->indi_format_int = _format_string_check(sd->indi_template); efl_ui_format_func_set(efl_part(pd->obj, "indicator"), pd->obj, _indi_default_format_cb, _indi_default_format_free_cb); } diff --git a/src/lib/elementary/elm_widget_slider.h b/src/lib/elementary/elm_widget_slider.h index c18f554e8c..8290045f8d 100644 --- a/src/lib/elementary/elm_widget_slider.h +
[EGIT] [core/efl] master 01/01: elm_index: keep backward compatibility on size calculation
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=e938a34f05e2869ff622495e14a0c1d41ed1fe77 commit e938a34f05e2869ff622495e14a0c1d41ed1fe77 Author: Jaehyun Cho Date: Fri Feb 7 15:54:01 2020 +0900 elm_index: keep backward compatibility on size calculation To keep backward compatibility on size calculation, elm_index implements group_calculate and the size calculation in the removed sizing_eval is added to the implemented group_calculate in elm_index. --- src/lib/elementary/elm_index.c | 12 1 file changed, 12 insertions(+) diff --git a/src/lib/elementary/elm_index.c b/src/lib/elementary/elm_index.c index 00ac57c711..6a4751c6e2 100644 --- a/src/lib/elementary/elm_index.c +++ b/src/lib/elementary/elm_index.c @@ -516,6 +516,17 @@ _elm_index_efl_ui_widget_theme_apply(Eo *obj, Elm_Index_Data *sd) return int_ret; } +EOLIAN static void +_elm_index_efl_canvas_group_group_calculate(Eo *obj, Elm_Index_Data *_pd EINA_UNUSED) +{ + Evas_Coord minw = -1, minh = -1; + ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd); + + edje_object_size_min_calc(wd->resize_obj, , ); + evas_object_size_hint_min_set(obj, minw, minh); + evas_object_size_hint_max_set(obj, -1, -1); +} + EOLIAN static void _elm_index_item_efl_object_destructor(Eo *eo_item EINA_UNUSED, Elm_Index_Item_Data *it) { @@ -1693,6 +1704,7 @@ _elm_index_item_efl_access_widget_action_elm_actions_get(const Eo *eo_it EINA_UN /* Internal EO APIs and hidden overrides */ #define ELM_INDEX_EXTRA_OPS \ + EFL_CANVAS_GROUP_CALC_OPS(elm_index), \ EFL_CANVAS_GROUP_ADD_DEL_OPS(elm_index) #include "elm_index_item_eo.c" --
[EGIT] [core/efl] master 01/02: efl_ui_spotlight: rename Manager_XXX and Indicator_XXX
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3e21d343492686d38ae8cb488a929e3af07d8d4e commit 3e21d343492686d38ae8cb488a929e3af07d8d4e Author: Jaehyun Cho Date: Thu Jan 23 12:55:12 2020 +0900 efl_ui_spotlight: rename Manager_XXX and Indicator_XXX Summary: In spotlight classes, "Manager" and "Indicator" are used as prefix in the class names. e.g. Efl.Ui.Spotlight.Manager_Plain, Efl.Ui.Spotlight.Indicator_Icon However, those classes are basically manager and indicator classes with different features. Therefore, "Manager" and "Indicator" should be used as postfix in the class names. e.g. Efl.Ui.Spotlight.Plain_Manager, Efl.Ui.Spotlight.Icon_Indicator However, for the easier usage of C APIs, c_prefix of those classes are remained to be "efl_ui_spotlight_manager_xxx" and "efl_ui_spotlight_indicator_xxx". Reviewers: segfaultxavi, bu5hm4n, zmike Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11142 --- src/bin/elementary/test_ui_pager.c | 2 +- src/bin/elementary/test_ui_pager_scroll.c | 2 +- src/bin/elementary/test_ui_spotlight.c | 2 +- src/bin/elementary/test_ui_tab_pager.c | 4 +-- src/examples/elementary/efl_ui_slideshow_example.c | 4 +-- src/lib/elementary/Efl_Ui.h| 6 ++-- src/lib/elementary/efl_ui_pager.c | 2 +- src/lib/elementary/efl_ui_spotlight_container.c| 8 ++--- ...or_icon.c => efl_ui_spotlight_icon_indicator.c} | 20 ++-- ..._icon.eo => efl_ui_spotlight_icon_indicator.eo} | 3 +- ...er_plain.c => efl_ui_spotlight_plain_manager.c} | 32 +- ..._plain.eo => efl_ui_spotlight_plain_manager.eo} | 3 +- ..._scroll.c => efl_ui_spotlight_scroll_manager.c} | 38 +++--- ...croll.eo => efl_ui_spotlight_scroll_manager.eo} | 3 +- ...er_stack.c => efl_ui_spotlight_stack_manager.c} | 28 ..._stack.eo => efl_ui_spotlight_stack_manager.eo} | 3 +- src/lib/elementary/efl_ui_spotlight_util.c | 2 +- src/lib/elementary/efl_ui_stack.c | 2 +- src/lib/elementary/meson.build | 16 - src/tests/elementary/efl_ui_test_spotlight.c | 4 +-- 20 files changed, 94 insertions(+), 90 deletions(-) diff --git a/src/bin/elementary/test_ui_pager.c b/src/bin/elementary/test_ui_pager.c index 34792f3832..c9ec2d6222 100644 --- a/src/bin/elementary/test_ui_pager.c +++ b/src/bin/elementary/test_ui_pager.c @@ -316,7 +316,7 @@ static void indicator_icon_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) { Params *params = data; - params->indicator = efl_add(EFL_PAGE_INDICATOR_ICON_CLASS, params->pager); + params->indicator = efl_add(EFL_PAGE_ICON_INDICATOR_CLASS, params->pager); efl_ui_pager_indicator_set(params->pager, params->indicator); } diff --git a/src/bin/elementary/test_ui_pager_scroll.c b/src/bin/elementary/test_ui_pager_scroll.c index c60ac486b2..7c1211e31b 100644 --- a/src/bin/elementary/test_ui_pager_scroll.c +++ b/src/bin/elementary/test_ui_pager_scroll.c @@ -369,7 +369,7 @@ static void indicator_icon_btn_cb(void *data, { Params *params = data; - params->indicator = efl_add(EFL_PAGE_INDICATOR_ICON_CLASS, params->pager); + params->indicator = efl_add(EFL_PAGE_ICON_INDICATOR_CLASS, params->pager); efl_ui_pager_indicator_set(params->pager, params->indicator); } diff --git a/src/bin/elementary/test_ui_spotlight.c b/src/bin/elementary/test_ui_spotlight.c index f38dfca754..cf52bb750a 100644 --- a/src/bin/elementary/test_ui_spotlight.c +++ b/src/bin/elementary/test_ui_spotlight.c @@ -396,7 +396,7 @@ indicator_icon_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) { Params *params = data; - params->indicator = efl_new(EFL_UI_SPOTLIGHT_INDICATOR_ICON_CLASS); + params->indicator = efl_new(EFL_UI_SPOTLIGHT_ICON_INDICATOR_CLASS); efl_ui_spotlight_indicator_set(params->spotlight, params->indicator); } diff --git a/src/bin/elementary/test_ui_tab_pager.c b/src/bin/elementary/test_ui_tab_pager.c index 62e4e7df09..2500b4d484 100644 --- a/src/bin/elementary/test_ui_tab_pager.c +++ b/src/bin/elementary/test_ui_tab_pager.c @@ -527,14 +527,14 @@ _tab_cb(void *data, Evas_Object *obj EINA_UNUSED, void *event_info) static void _tran_set_btn_scroll_cb(void *data, const Efl_Event *ev EINA_UNUSED) { - Efl_Ui_Spotlight_Manager_Scroll *scroll = efl_new(EFL_UI_SPOTLIGHT_MANAGER_SCROLL_CLASS); + Efl_Ui_Spotlight_Scroll_Manager *scroll = efl_new(EFL_UI_SPOTLIGHT_SCROLL_MANAGER_CLASS); efl_ui_spotlight_manager_set(data, scroll); } static void _tran_set_btn_stack_cb(void *data, const Efl_Event *ev EINA_UNUSED)
[EGIT] [core/efl] master 02/02: efl_ui_spotlight: rename Stack_Manager to Fade_Manager
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=09e3972d14aaf2b61690d119660490cf9d9929a4 commit 09e3972d14aaf2b61690d119660490cf9d9929a4 Author: Jaehyun Cho Date: Thu Jan 23 12:55:16 2020 +0900 efl_ui_spotlight: rename Stack_Manager to Fade_Manager Summary: Since Stack_Manager displays fade in/out transition effects, the class name is renamed from Stack_Manager to Fade_Manager. Depends on D11142 Reviewers: segfaultxavi, bu5hm4n, zmike Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11143 --- src/bin/elementary/test_ui_tab_pager.c | 2 +- src/examples/elementary/efl_ui_slideshow_example.c | 2 +- src/lib/elementary/Efl_Ui.h| 2 +- ...k_manager.c => efl_ui_spotlight_fade_manager.c} | 28 +++--- ...manager.eo => efl_ui_spotlight_fade_manager.eo} | 4 ++-- src/lib/elementary/efl_ui_spotlight_util.c | 2 +- src/lib/elementary/efl_ui_stack.c | 2 +- src/lib/elementary/meson.build | 4 ++-- src/tests/elementary/efl_ui_test_spotlight.c | 4 ++-- 9 files changed, 25 insertions(+), 25 deletions(-) diff --git a/src/bin/elementary/test_ui_tab_pager.c b/src/bin/elementary/test_ui_tab_pager.c index 2500b4d484..1cc0055051 100644 --- a/src/bin/elementary/test_ui_tab_pager.c +++ b/src/bin/elementary/test_ui_tab_pager.c @@ -534,7 +534,7 @@ _tran_set_btn_scroll_cb(void *data, const Efl_Event *ev EINA_UNUSED) static void _tran_set_btn_stack_cb(void *data, const Efl_Event *ev EINA_UNUSED) { - Efl_Ui_Spotlight_Scroll_Manager *stack = efl_new(EFL_UI_SPOTLIGHT_STACK_MANAGER_CLASS); + Efl_Ui_Spotlight_Scroll_Manager *stack = efl_new(EFL_UI_SPOTLIGHT_FADE_MANAGER_CLASS); efl_ui_spotlight_manager_set(data, stack); } diff --git a/src/examples/elementary/efl_ui_slideshow_example.c b/src/examples/elementary/efl_ui_slideshow_example.c index f1429843d0..4be9865bd3 100644 --- a/src/examples/elementary/efl_ui_slideshow_example.c +++ b/src/examples/elementary/efl_ui_slideshow_example.c @@ -94,7 +94,7 @@ efl_main(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED) efl_event_callback_add(efl_added, EFL_UI_SPOTLIGHT_EVENT_TRANSITION_END, _container_end, NULL), efl_pack_table(table, efl_added, 0, 0, 1, 1)); efl_ui_spotlight_indicator_set(container, efl_new(EFL_UI_SPOTLIGHT_ICON_INDICATOR_CLASS)); - efl_ui_spotlight_manager_set(container, efl_new(EFL_UI_SPOTLIGHT_STACK_MANAGER_CLASS)); + efl_ui_spotlight_manager_set(container, efl_new(EFL_UI_SPOTLIGHT_FADE_MANAGER_CLASS)); for (int i = 0; i < IMG_NUM; i++) { diff --git a/src/lib/elementary/Efl_Ui.h b/src/lib/elementary/Efl_Ui.h index 64497913db..c010581c74 100644 --- a/src/lib/elementary/Efl_Ui.h +++ b/src/lib/elementary/Efl_Ui.h @@ -268,7 +268,7 @@ typedef Eo Efl_Ui_Spotlight_Indicator; # include # include # include -# include +# include # include # include # include diff --git a/src/lib/elementary/efl_ui_spotlight_stack_manager.c b/src/lib/elementary/efl_ui_spotlight_fade_manager.c similarity index 79% rename from src/lib/elementary/efl_ui_spotlight_stack_manager.c rename to src/lib/elementary/efl_ui_spotlight_fade_manager.c index 253a7259f4..da70a3848f 100644 --- a/src/lib/elementary/efl_ui_spotlight_stack_manager.c +++ b/src/lib/elementary/efl_ui_spotlight_fade_manager.c @@ -14,12 +14,12 @@ typedef struct { int ids[2]; //only used when in animation Eina_Size2D page_size; Eina_Bool animation; -} Efl_Ui_Spotlight_Stack_Manager_Data; +} Efl_Ui_Spotlight_Fade_Manager_Data; -#define MY_CLASS EFL_UI_SPOTLIGHT_STACK_MANAGER_CLASS +#define MY_CLASS EFL_UI_SPOTLIGHT_FADE_MANAGER_CLASS static void -_geom_sync(Eo *obj EINA_UNUSED, Efl_Ui_Spotlight_Stack_Manager_Data *pd) +_geom_sync(Eo *obj EINA_UNUSED, Efl_Ui_Spotlight_Fade_Manager_Data *pd) { Eina_Rect group_pos = efl_gfx_entity_geometry_get(pd->container); Eina_Rect goal = EINA_RECT_EMPTY(); @@ -37,7 +37,7 @@ _geom_sync(Eo *obj EINA_UNUSED, Efl_Ui_Spotlight_Stack_Manager_Data *pd) static void _running_cb(void *data, const Efl_Event *ev EINA_UNUSED) { - Efl_Ui_Spotlight_Stack_Manager_Data *pd = efl_data_scope_safe_get(data, MY_CLASS); + Efl_Ui_Spotlight_Fade_Manager_Data *pd = efl_data_scope_safe_get(data, MY_CLASS); double absolut_position; EINA_SAFETY_ON_NULL_RETURN(pd); @@ -58,7 +58,7 @@ _hide_object_cb(void *data, const Efl_Event *ev) } EOLIAN static void -_efl_ui_spotlight_stack_manager_efl_ui_spotlight_manager_bind(Eo *obj, Efl_Ui_Spotlight_Stack_Manager_Data *pd, Efl_Ui_Spotlight_Container *spotlight) +_efl_ui_spotlight_fade_manager_efl_ui_spotlight_manager_bind(Eo *obj, Efl_Ui_Spotlight_Fade_Manager_Data *pd, Efl_Ui_Spotlight_Containe
[EGIT] [core/efl] master 01/01: Revert "efl_mono: remove class ExtensionTag"
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=700d87b3709c5eeb6fa7a238b24ae93e6fad4d68 commit 700d87b3709c5eeb6fa7a238b24ae93e6fad4d68 Author: Jaehyun Cho Date: Wed Jan 22 11:33:41 2020 +0900 Revert "efl_mono: remove class ExtensionTag" Extension Methods' classes have methods with same names and parameters. e.g. Text(this Efl.Ui.ItemFactory fac) Although the where clause contains different classes, they cannot be identified as different methods by C# compiler. e.g. Text(this Efl.Ui.ItemFactory fac) where T : Efl.Ui.Button e.g. Text(this Efl.Ui.ItemFactory fac) where T : Efl.Ui.Check As a result, to avoid ambiguous methods, ExtensionTag should be used as a second parameter of each method. e.g. Text(this Efl.Ui.ItemFactory fac, ExtensionTagmagic = null) where T : Efl.Ui.Button e.g. Text(this Efl.Ui.ItemFactory fac, ExtensionTagmagic = null) where T : Efl.Ui.Check This reverts commit 76631f502a8234c04ed8124bfdebe62ed5bdf954. --- src/bin/eolian_mono/eolian/mono/function_definition.hh | 10 ++ src/bin/eolian_mono/eolian/mono/part_definition.hh | 5 +++-- src/bindings/mono/efl_mono/Bind.cs | 14 ++ 3 files changed, 23 insertions(+), 6 deletions(-) diff --git a/src/bin/eolian_mono/eolian/mono/function_definition.hh b/src/bin/eolian_mono/eolian/mono/function_definition.hh index fcc8a88f15..3c30cdd3fe 100644 --- a/src/bin/eolian_mono/eolian/mono/function_definition.hh +++ b/src/bin/eolian_mono/eolian/mono/function_definition.hh @@ -284,8 +284,9 @@ struct property_extension_method_definition_generator if (property.setter.is_engaged()) { attributes::type_def prop_type = property.setter->parameters[0].type; - if (!as_generator(scope_tab(2) << "public static Efl.BindableProperty<" << type(true) << "> " << managed_name << "(this Efl.Ui.ItemFactory fac) where T : " -<< name_helpers::klass_full_concrete_or_interface_name(cls) << " {\n" + if (!as_generator(scope_tab(2) << "public static Efl.BindableProperty<" << type(true) << "> " << managed_name << "(this Efl.Ui.ItemFactory fac, Efl.Csharp.ExtensionTag<" +<< name_helpers::klass_full_concrete_or_interface_name(cls) +<< ", T>magic = null) where T : " << name_helpers::klass_full_concrete_or_interface_name(cls) << " {\n" << scope_tab(2) << scope_tab << "return new Efl.BindableProperty<" << type(true) << ">(\"" << property.name << "\", fac);\n" << scope_tab(2) << "}\n\n" ).generate(sink, std::make_tuple(prop_type, prop_type), context)) @@ -300,8 +301,9 @@ struct property_extension_method_definition_generator if (property.setter.is_engaged()) { attributes::type_def prop_type = property.setter->parameters[0].type; - if (!as_generator(scope_tab(2) << "public static Efl.BindableProperty<" << type(true) << "> " << managed_name << "(this Efl.BindablePart part) where T : " -<< name_helpers::klass_full_concrete_or_interface_name(cls) << " {\n" + if (!as_generator(scope_tab(2) << "public static Efl.BindableProperty<" << type(true) << "> " << managed_name << "(this Efl.BindablePart part, Efl.Csharp.ExtensionTag<" +<< name_helpers::klass_full_concrete_or_interface_name(cls) +<< ", T>magic = null) where T : " << name_helpers::klass_full_concrete_or_interface_name(cls) << " {\n" << scope_tab(2) << scope_tab << "Contract.Requires(part != null, nameof(part));\n" << scope_tab(2) << scope_tab << "return new Efl.BindableProperty<" << type(true) << ">(part.PartName, \"" << property.name << "\", part.Binder);\n" << scope_tab(2) << "}\n\n" diff --git a/src/bin/eolian_mono/eolian/mono/part_definition.hh b/src/bin/eolian_mono/eolian/mono/part_definition.hh index d87b0b56ac..4facf27209 100644 --- a/src/bin/eolian_mono/eolian/mono/part_definition.hh +++ b/src/bin/eolian_mono/eolian/mono/part_definition.hh @@ -70,8 +70,
[EGIT] [core/efl] master 01/01: efl_ui_spotlight_manager: fix not to change sub objects' color
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a1350a0e3ea3ae51160ec1d9f95e4cf7346b0acc commit a1350a0e3ea3ae51160ec1d9f95e4cf7346b0acc Author: Jaehyun Cho Date: Tue Jan 21 19:32:34 2020 +0900 efl_ui_spotlight_manager: fix not to change sub objects' color Summary: Widget's group_member_add() sets its sub objects' color with the parent's color. Since spotlight managers call group_member_add() with spotlight container and its sub objects, the sub objects' color can be changed. e.g. packed rectangle's color is changed to white (default color value) To resolve the above issue, spotlight managers set data "_elm_leaveme" before calling group_member_add() not to change sub objects' color. Reviewers: bu5hm4n Reviewed By: bu5hm4n Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11134 --- .../elementary/efl_ui_spotlight_manager_plain.c| 25 ++ .../elementary/efl_ui_spotlight_manager_plain.eo | 1 + .../elementary/efl_ui_spotlight_manager_scroll.c | 3 +++ .../elementary/efl_ui_spotlight_manager_stack.c| 19 +++- 4 files changed, 47 insertions(+), 1 deletion(-) diff --git a/src/lib/elementary/efl_ui_spotlight_manager_plain.c b/src/lib/elementary/efl_ui_spotlight_manager_plain.c index d9c52ab3db..81c954e62f 100644 --- a/src/lib/elementary/efl_ui_spotlight_manager_plain.c +++ b/src/lib/elementary/efl_ui_spotlight_manager_plain.c @@ -10,6 +10,7 @@ typedef struct { Efl_Ui_Spotlight_Container * container; Eina_Size2D page_size; Efl_Ui_Widget *current_content; + Efl_Gfx_Entity *clipper; Eina_Bool animation; double last_pos; } Efl_Ui_Spotlight_Manager_Plain_Data; @@ -36,6 +37,7 @@ _geom_sync(Eo *obj EINA_UNUSED, Efl_Ui_Spotlight_Manager_Plain_Data *pd) goal.size = pd->page_size; goal.y = (group_pos.y + group_pos.h/2)-pd->page_size.h/2; goal.x = (group_pos.x + group_pos.w/2)-pd->page_size.w/2; + efl_gfx_entity_geometry_set(pd->clipper, goal); efl_gfx_entity_geometry_set(entity, goal); } @@ -48,8 +50,15 @@ _efl_ui_spotlight_manager_plain_efl_ui_spotlight_manager_bind(Eo *obj, Efl_Ui_Sp pd->container = spotlight; +pd->clipper = efl_add(EFL_CANVAS_RECTANGLE_CLASS, + evas_object_evas_get(spotlight)); +evas_object_static_clip_set(pd->clipper, EINA_TRUE); +efl_canvas_group_member_add(spotlight, pd->clipper); + for (int i = 0; i < efl_content_count(spotlight) ; ++i) { Efl_Gfx_Entity *elem = efl_pack_content_get(spotlight, i); + efl_key_data_set(elem, "_elm_leaveme", spotlight); + efl_canvas_object_clipper_set(elem, pd->clipper); efl_canvas_group_member_add(pd->container, elem); efl_gfx_entity_visible_set(elem, EINA_FALSE); } @@ -81,6 +90,8 @@ _content_changed(Eo *obj, Efl_Ui_Spotlight_Manager_Plain_Data *pd) EOLIAN static void _efl_ui_spotlight_manager_plain_efl_ui_spotlight_manager_content_add(Eo *obj, Efl_Ui_Spotlight_Manager_Plain_Data *pd, Efl_Gfx_Entity *subobj, int index EINA_UNUSED) { + efl_key_data_set(subobj, "_elm_leaveme", pd->container); + efl_canvas_object_clipper_set(subobj, pd->clipper); efl_canvas_group_member_add(pd->container, subobj); efl_gfx_entity_visible_set(subobj, EINA_FALSE); _content_changed(obj, pd); @@ -89,6 +100,8 @@ _efl_ui_spotlight_manager_plain_efl_ui_spotlight_manager_content_add(Eo *obj, Ef EOLIAN static void _efl_ui_spotlight_manager_plain_efl_ui_spotlight_manager_content_del(Eo *obj, Efl_Ui_Spotlight_Manager_Plain_Data *pd, Efl_Gfx_Entity *subobj, int index EINA_UNUSED) { + efl_key_data_set(subobj, "_elm_leaveme", NULL); + efl_canvas_object_clipper_set(subobj, NULL); efl_canvas_group_member_remove(pd->container, subobj); if (pd->current_content == subobj) pd->current_content = NULL; @@ -147,5 +160,17 @@ _efl_ui_spotlight_manager_plain_efl_ui_spotlight_manager_animated_transition_get return pd->animation; } +EOLIAN static void +_efl_ui_spotlight_manager_plain_efl_object_invalidate(Eo *obj, Efl_Ui_Spotlight_Manager_Plain_Data *pd) +{ + efl_del(pd->clipper); + + for (int i = 0; i < efl_content_count(pd->container); ++i) + { +efl_canvas_object_clipper_set(efl_pack_content_get(pd->container, i), NULL); + } + + efl_invalidate(efl_super(obj, MY_CLASS)); +} #include "efl_ui_spotlight_manager_plain.eo.c" diff --git a/src/lib/elementary/efl_ui_spotlight_manager_plain.eo b/src/lib/elementary/efl_ui_spotlight_manager_plain.eo index fd4f5d9664..23bf0e443e 100644 --- a/src/lib/elementary/efl_ui_spotlight_manager_plain.eo +++ b/src/lib/elementary/efl_ui_spo
[EGIT] [core/efl] master 01/01: efl_canvas_animation: rename Animation_XXX to XXX_Animation
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=40b73758a05d159086b286f26ebd4d1da19da4f9 commit 40b73758a05d159086b286f26ebd4d1da19da4f9 Author: Jaehyun Cho Date: Mon Jan 20 12:53:09 2020 +0900 efl_canvas_animation: rename Animation_XXX to XXX_Animation Summary: In animation classes, "Animation" is not used as a namespace but it is used as a prefix in the class names. e.g. Efl.Canvas.Animation_Alpha However, those classes are basically animation classes with different features. Therefore, "Animation" should be used as a postfix in the class names. e.g. Efl.Canvas.Animation_Alpha -> Efl.Canvas.Alpha_Animation However, for the easier usage of C APIs, c_prefix of animation classes are remained to be "efl_animation_xxx". Reviewers: segfaultxavi, bu5hm4n, zmike, Hermet, jsuya Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11108 --- src/bin/elementary/test_efl_anim_alpha.c | 4 +- src/bin/elementary/test_efl_anim_group_parallel.c | 8 +-- .../elementary/test_efl_anim_group_sequential.c| 8 +-- src/bin/elementary/test_efl_anim_interpolator.c| 2 +- src/bin/elementary/test_efl_anim_pause.c | 4 +- src/bin/elementary/test_efl_anim_repeat.c | 4 +- src/bin/elementary/test_efl_anim_rotate.c | 12 ++-- src/bin/elementary/test_efl_anim_scale.c | 12 ++-- src/bin/elementary/test_efl_anim_start_delay.c | 4 +- src/bin/elementary/test_efl_anim_translate.c | 8 +-- src/examples/evas/efl-canvas-animation.c | 10 ++-- .../elementary/efl_ui_spotlight_manager_stack.c| 2 +- src/lib/evas/Efl_Canvas.h | 14 ++--- src/lib/evas/Evas_Common.h | 54 - src/lib/evas/Evas_Eo.h | 68 +++--- ...mation_alpha.c => efl_canvas_alpha_animation.c} | 22 +++ ...tion_alpha.eo => efl_canvas_alpha_animation.eo} | 4 +- .../canvas/efl_canvas_alpha_animation_private.h| 19 ++ src/lib/evas/canvas/efl_canvas_animation.eo| 4 +- .../canvas/efl_canvas_animation_alpha_private.h| 19 -- .../canvas/efl_canvas_animation_group_private.h| 16 - .../canvas/efl_canvas_animation_rotate_private.h | 30 -- .../canvas/efl_canvas_animation_scale_private.h| 25 .../efl_canvas_animation_translate_private.h | 16 - ...mation_group.c => efl_canvas_group_animation.c} | 36 ++-- ...tion_group.eo => efl_canvas_group_animation.eo} | 6 +- .../canvas/efl_canvas_group_animation_private.h| 16 + ...lel.c => efl_canvas_parallel_group_animation.c} | 10 ++-- ...l.eo => efl_canvas_parallel_group_animation.eo} | 5 +- ... efl_canvas_parallel_group_animation_private.h} | 0 ...tion_rotate.c => efl_canvas_rotate_animation.c} | 30 +- ...on_rotate.eo => efl_canvas_rotate_animation.eo} | 6 +- .../canvas/efl_canvas_rotate_animation_private.h | 30 ++ ...mation_scale.c => efl_canvas_scale_animation.c} | 30 +- ...tion_scale.eo => efl_canvas_scale_animation.eo} | 6 +- .../canvas/efl_canvas_scale_animation_private.h| 25 ...l.c => efl_canvas_sequential_group_animation.c} | 10 ++-- ...eo => efl_canvas_sequential_group_animation.eo} | 4 +- ...fl_canvas_sequential_group_animation_private.h} | 0 ...ranslate.c => efl_canvas_translate_animation.c} | 30 +- ...nslate.eo => efl_canvas_translate_animation.eo} | 6 +- .../efl_canvas_translate_animation_private.h | 16 + src/lib/evas/canvas/meson.build| 28 - 43 files changed, 334 insertions(+), 329 deletions(-) diff --git a/src/bin/elementary/test_efl_anim_alpha.c b/src/bin/elementary/test_efl_anim_alpha.c index b364319279..3c5f62ca64 100644 --- a/src/bin/elementary/test_efl_anim_alpha.c +++ b/src/bin/elementary/test_efl_anim_alpha.c @@ -90,13 +90,13 @@ test_efl_anim_alpha(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void * efl_event_callback_array_add(btn, animation_stats_cb(), ad); //Show Animation - Efl_Canvas_Animation *show_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, win); + Efl_Canvas_Animation *show_anim = efl_add(EFL_CANVAS_ALPHA_ANIMATION_CLASS, win); efl_animation_alpha_set(show_anim, 0.0, 1.0); efl_animation_duration_set(show_anim, 1.0); efl_animation_final_state_keep_set(show_anim, EINA_TRUE); //Hide Animation - Efl_Canvas_Animation *hide_anim = efl_add(EFL_CANVAS_ANIMATION_ALPHA_CLASS, win); + Efl_Canvas_Animation *hide_anim = efl_add(EFL_CANVAS_ALPHA_ANIMATION_CLASS, win); efl_animation_alpha_set(hide_anim, 1.0, 0.0); efl_animation_duration_set(hide_anim, 1.0); efl_animation_final_state_keep_set(hide_anim,
[EGIT] [core/efl] master 01/01: evas_gesture: change getter methods to read-only properties
xartigas pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=090df4331b9c680d50b884ccac8f39c0f312fc16 commit 090df4331b9c680d50b884ccac8f39c0f312fc16 Author: Jaehyun Cho Date: Wed Jan 15 14:35:03 2020 +0100 evas_gesture: change getter methods to read-only properties Summary: From language bindings' perspective, it seems better that read-only properties are provided instead of getter methods. ref T8557 Reviewers: segfaultxavi, CHAN Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Maniphest Tasks: T8557 Differential Revision: https://phab.enlightenment.org/D11094 --- src/lib/evas/gesture/efl_canvas_gesture_flick.c | 4 ++-- src/lib/evas/gesture/efl_canvas_gesture_flick.eo| 20 ++-- src/lib/evas/gesture/efl_canvas_gesture_momentum.c | 2 +- src/lib/evas/gesture/efl_canvas_gesture_momentum.eo | 10 +++--- src/lib/evas/gesture/efl_canvas_gesture_zoom.c | 4 ++-- src/lib/evas/gesture/efl_canvas_gesture_zoom.eo | 20 ++-- 6 files changed, 40 insertions(+), 20 deletions(-) diff --git a/src/lib/evas/gesture/efl_canvas_gesture_flick.c b/src/lib/evas/gesture/efl_canvas_gesture_flick.c index 1095a84652..faa8e3812f 100644 --- a/src/lib/evas/gesture/efl_canvas_gesture_flick.c +++ b/src/lib/evas/gesture/efl_canvas_gesture_flick.c @@ -16,13 +16,13 @@ _efl_canvas_gesture_flick_efl_object_constructor(Eo *obj, Efl_Canvas_Gesture_Fli } EOLIAN static Eina_Vector2 -_efl_canvas_gesture_flick_momentum_get(Eo *obj EINA_UNUSED, Efl_Canvas_Gesture_Flick_Data *pd) +_efl_canvas_gesture_flick_momentum_get(const Eo *obj EINA_UNUSED, Efl_Canvas_Gesture_Flick_Data *pd) { return pd->momentum; } EOLIAN static double -_efl_canvas_gesture_flick_angle_get(Eo *obj EINA_UNUSED, Efl_Canvas_Gesture_Flick_Data *pd) +_efl_canvas_gesture_flick_angle_get(const Eo *obj EINA_UNUSED, Efl_Canvas_Gesture_Flick_Data *pd) { return pd->angle; } diff --git a/src/lib/evas/gesture/efl_canvas_gesture_flick.eo b/src/lib/evas/gesture/efl_canvas_gesture_flick.eo index bec2f127c8..a624a529f9 100644 --- a/src/lib/evas/gesture/efl_canvas_gesture_flick.eo +++ b/src/lib/evas/gesture/efl_canvas_gesture_flick.eo @@ -10,15 +10,23 @@ class @beta Efl.Canvas.Gesture_Flick extends Efl.Canvas.Gesture ]] c_prefix: efl_gesture_flick; methods { - momentum_get { - [[Gets flick gesture momentum value, this is, the direction in which the + @property momentum { + [[The flick gesture momentum value, this is, the direction in which the pointer was flicked.]] - return: Eina.Vector2; [[The momentum vector.]] + get { + } + values { +momentum: Eina.Vector2; [[The momentum vector.]] + } } - angle_get { - [[Gets flick gesture direction angle, this is, the angle in which the + @property angle { + [[The flick gesture direction angle, this is, the angle in which the pointer was flicked.]] - return: double; [[The angle value.]] + get { + } + values { +angle: double; [[The angle value.]] + } } } implements { diff --git a/src/lib/evas/gesture/efl_canvas_gesture_momentum.c b/src/lib/evas/gesture/efl_canvas_gesture_momentum.c index e7eb34ad2b..91d2ca8f1d 100644 --- a/src/lib/evas/gesture/efl_canvas_gesture_momentum.c +++ b/src/lib/evas/gesture/efl_canvas_gesture_momentum.c @@ -16,7 +16,7 @@ _efl_canvas_gesture_momentum_efl_object_constructor(Eo *obj, Efl_Canvas_Gesture_ } EOLIAN static Eina_Vector2 -_efl_canvas_gesture_momentum_momentum_get(Eo *obj EINA_UNUSED, Efl_Canvas_Gesture_Momentum_Data *pd) +_efl_canvas_gesture_momentum_momentum_get(const Eo *obj EINA_UNUSED, Efl_Canvas_Gesture_Momentum_Data *pd) { return pd->momentum; } diff --git a/src/lib/evas/gesture/efl_canvas_gesture_momentum.eo b/src/lib/evas/gesture/efl_canvas_gesture_momentum.eo index d3bd578e1c..715743c49b 100644 --- a/src/lib/evas/gesture/efl_canvas_gesture_momentum.eo +++ b/src/lib/evas/gesture/efl_canvas_gesture_momentum.eo @@ -10,9 +10,13 @@ class @beta Efl.Canvas.Gesture_Momentum extends Efl.Canvas.Gesture ]] c_prefix: efl_gesture_momentum; methods { - momentum_get { - [[Gets the momentum value, this is, the direction in which the action occurred.]] - return: Eina.Vector2; [[The momentum vector.]] + @property momentum { + [[The momentum value, this is, the direction in which the action occurred.]] + get { + } + values { +momentum: Eina.Vector2; [[The momentum vector.]] + } } } implements { diff --git a/src/lib/evas/gesture/efl_canvas_gesture_zoom.c b/src/lib/evas/gesture/efl_canvas_gesture_zoom.c index 3ac4ffcbf4..9ea7533aeb 100644 --- a/src
[EGIT] [core/efl] master 01/01: efl_canvas_animation_group: preserve each animation's duration
bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7661473f282f021fde1574f91fc8d6e7bf946382 commit 7661473f282f021fde1574f91fc8d6e7bf946382 Author: Jaehyun Cho Date: Wed Jan 15 09:44:30 2020 + efl_canvas_animation_group: preserve each animation's duration To preserve each animation's duration, group animation's duration is copied to each animation's duration only if group animation's duration is set. Reviewed-by: Marcel Hollerbach Differential Revision: https://phab.enlightenment.org/D11104 --- src/lib/evas/canvas/efl_canvas_animation_group.c | 15 --- src/lib/evas/canvas/efl_canvas_animation_group_private.h | 1 + 2 files changed, 13 insertions(+), 3 deletions(-) diff --git a/src/lib/evas/canvas/efl_canvas_animation_group.c b/src/lib/evas/canvas/efl_canvas_animation_group.c index b6a771501f..7dc7c24bb8 100644 --- a/src/lib/evas/canvas/efl_canvas_animation_group.c +++ b/src/lib/evas/canvas/efl_canvas_animation_group.c @@ -7,8 +7,14 @@ _efl_canvas_animation_group_animation_add(Eo *eo_obj, { if (!animation) return; - double duration = efl_animation_duration_get(efl_super(eo_obj, MY_CLASS)); - efl_animation_duration_set(animation, duration); + /* To preserve each animation's duration, group animation's duration is +* copied to each animation's duration only if group animation's duration is +* set. */ + if (pd->is_duration_set) + { +double duration = efl_animation_duration_get(efl_super(eo_obj, MY_CLASS)); +efl_animation_duration_set(animation, duration); + } Eina_Bool keep_final_state = efl_animation_final_state_keep_get(eo_obj); efl_animation_final_state_keep_set(animation, keep_final_state); @@ -50,6 +56,8 @@ _efl_canvas_animation_group_efl_canvas_animation_duration_set(Eo *eo_obj, Efl_Canvas_Animation_Group_Data *pd, double duration) { + EINA_SAFETY_ON_FALSE_RETURN(duration >= 0.0); + efl_animation_duration_set(efl_super(eo_obj, MY_CLASS), duration); duration = efl_animation_duration_get(eo_obj); @@ -59,6 +67,8 @@ _efl_canvas_animation_group_efl_canvas_animation_duration_set(Eo *eo_obj, { efl_animation_duration_set(anim, duration); } + + pd->is_duration_set = EINA_TRUE; } EOLIAN static void @@ -96,7 +106,6 @@ _efl_canvas_animation_group_efl_object_constructor(Eo *eo_obj, Efl_Canvas_Animation_Group_Data *pd) { eo_obj = efl_constructor(efl_super(eo_obj, MY_CLASS)); - pd->animations = NULL; return eo_obj; diff --git a/src/lib/evas/canvas/efl_canvas_animation_group_private.h b/src/lib/evas/canvas/efl_canvas_animation_group_private.h index 685e8f6063..335053d9c1 100644 --- a/src/lib/evas/canvas/efl_canvas_animation_group_private.h +++ b/src/lib/evas/canvas/efl_canvas_animation_group_private.h @@ -12,4 +12,5 @@ typedef struct _Efl_Canvas_Animation_Group_Data { Eina_List *animations; + Eina_Bool is_duration_set : 1; //EINA_TRUE if duration is set } Efl_Canvas_Animation_Group_Data; --
[EGIT] [core/efl] master 01/01: efl_mono: remove class ExtensionTag
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=76631f502a8234c04ed8124bfdebe62ed5bdf954 commit 76631f502a8234c04ed8124bfdebe62ed5bdf954 Author: Jaehyun Cho Date: Wed Jan 15 18:45:38 2020 +0900 efl_mono: remove class ExtensionTag Summary: Since class BindablePart and class BindableProperty use generic type constraint as "where T : ", class ExtensionTag is no longer needed. Reviewers: SanghyeonLee, felipealmeida, YOhoho Reviewed By: YOhoho Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11101 --- src/bin/eolian_mono/eolian/mono/function_definition.hh | 10 -- src/bin/eolian_mono/eolian/mono/part_definition.hh | 5 ++--- src/bindings/mono/efl_mono/Bind.cs | 14 -- 3 files changed, 6 insertions(+), 23 deletions(-) diff --git a/src/bin/eolian_mono/eolian/mono/function_definition.hh b/src/bin/eolian_mono/eolian/mono/function_definition.hh index df6f62a2fb..0c2adebe42 100644 --- a/src/bin/eolian_mono/eolian/mono/function_definition.hh +++ b/src/bin/eolian_mono/eolian/mono/function_definition.hh @@ -285,9 +285,8 @@ struct property_extension_method_definition_generator if (property.setter.is_engaged()) { attributes::type_def prop_type = property.setter->parameters[0].type; - if (!as_generator(scope_tab(2) << "public static Efl.BindableProperty<" << type(true) << "> " << managed_name << "(this Efl.Ui.ItemFactory fac, Efl.Csharp.ExtensionTag<" -<< name_helpers::klass_full_concrete_or_interface_name(cls) -<< ", T>magic = null) where T : " << name_helpers::klass_full_concrete_or_interface_name(cls) << " {\n" + if (!as_generator(scope_tab(2) << "public static Efl.BindableProperty<" << type(true) << "> " << managed_name << "(this Efl.Ui.ItemFactory fac) where T : " +<< name_helpers::klass_full_concrete_or_interface_name(cls) << " {\n" << scope_tab(2) << scope_tab << "return new Efl.BindableProperty<" << type(true) << ">(\"" << property.name << "\", fac);\n" << scope_tab(2) << "}\n\n" ).generate(sink, std::make_tuple(prop_type, prop_type), context)) @@ -302,9 +301,8 @@ struct property_extension_method_definition_generator if (property.setter.is_engaged()) { attributes::type_def prop_type = property.setter->parameters[0].type; - if (!as_generator(scope_tab(2) << "public static Efl.BindableProperty<" << type(true) << "> " << managed_name << "(this Efl.BindablePart part, Efl.Csharp.ExtensionTag<" -<< name_helpers::klass_full_concrete_or_interface_name(cls) -<< ", T>magic = null) where T : " << name_helpers::klass_full_concrete_or_interface_name(cls) << " {\n" + if (!as_generator(scope_tab(2) << "public static Efl.BindableProperty<" << type(true) << "> " << managed_name << "(this Efl.BindablePart part) where T : " +<< name_helpers::klass_full_concrete_or_interface_name(cls) << " {\n" << scope_tab(2) << scope_tab << "Contract.Requires(part != null, nameof(part));\n" << scope_tab(2) << scope_tab << "return new Efl.BindableProperty<" << type(true) << ">(part.PartName, \"" << property.name << "\", part.Binder);\n" << scope_tab(2) << "}\n\n" diff --git a/src/bin/eolian_mono/eolian/mono/part_definition.hh b/src/bin/eolian_mono/eolian/mono/part_definition.hh index 4facf27209..d87b0b56ac 100644 --- a/src/bin/eolian_mono/eolian/mono/part_definition.hh +++ b/src/bin/eolian_mono/eolian/mono/part_definition.hh @@ -70,9 +70,8 @@ struct part_extension_method_definition_generator bindableClass = "Efl.BindableFactoryPart"; if (!as_generator( -scope_tab(2) << "public static " << bindableClass << "<" << part_klass_name << "> " << name_helpers::managed_part_name(part)
[EGIT] [core/efl] master 01/01: efl_gesture: rename Efl.Gesture.Events to Efl.Canvas.Gesture_Events
xartigas pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=914fa2fd7c197c8baf57e4601f0a506d2b68f373 commit 914fa2fd7c197c8baf57e4601f0a506d2b68f373 Author: Jaehyun Cho Date: Mon Jan 13 14:24:30 2020 +0100 efl_gesture: rename Efl.Gesture.Events to Efl.Canvas.Gesture_Events Summary: Since the current Efl.Gesture.Events has canvas gesture events only, Efl.Gesture.Events should be renamed to Efl.Canvas.Gesture_Events. If other types of gesture events are newlly required later, which are not based on canvas, then class Efl.XXX.Gesture_Events is required to be introduced. Reviewers: CHAN, segfaultxavi, bu5hm4n, zmike Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11073 --- src/lib/evas/Efl_Canvas.h | 2 +- src/lib/evas/Evas_Eo.h | 2 +- src/lib/evas/canvas/efl_canvas_object.eo | 2 +- src/lib/evas/gesture/efl_canvas_gesture.c | 2 +- src/lib/evas/gesture/efl_canvas_gesture.eo | 4 ++-- src/lib/evas/gesture/efl_canvas_gesture_double_tap.eo | 2 +- .../{efl_gesture_events.eo => efl_canvas_gesture_events.eo}| 10 +- src/lib/evas/gesture/efl_canvas_gesture_flick.eo | 2 +- src/lib/evas/gesture/efl_canvas_gesture_long_tap.eo| 2 +- src/lib/evas/gesture/efl_canvas_gesture_momentum.eo| 2 +- src/lib/evas/gesture/efl_canvas_gesture_private.h | 2 +- src/lib/evas/gesture/efl_canvas_gesture_tap.eo | 2 +- src/lib/evas/gesture/efl_canvas_gesture_triple_tap.eo | 2 +- src/lib/evas/gesture/efl_canvas_gesture_zoom.eo| 2 +- src/lib/evas/gesture/meson.build | 2 +- 15 files changed, 20 insertions(+), 20 deletions(-) diff --git a/src/lib/evas/Efl_Canvas.h b/src/lib/evas/Efl_Canvas.h index 1963aa2a55..dc3f61a43b 100644 --- a/src/lib/evas/Efl_Canvas.h +++ b/src/lib/evas/Efl_Canvas.h @@ -121,7 +121,7 @@ extern "C" { #include #include #include -#include +#include #ifdef __cplusplus diff --git a/src/lib/evas/Evas_Eo.h b/src/lib/evas/Evas_Eo.h index 1137426a30..d9cc99932c 100644 --- a/src/lib/evas/Evas_Eo.h +++ b/src/lib/evas/Evas_Eo.h @@ -214,7 +214,7 @@ struct _Efl_Canvas_Object_Animation_Event #include "gesture/efl_canvas_gesture_recognizer_flick.eo.h" #include "gesture/efl_canvas_gesture_recognizer_zoom.eo.h" #include "gesture/efl_canvas_gesture_manager.eo.h" -#include "gesture/efl_gesture_events.eo.h" +#include "gesture/efl_canvas_gesture_events.eo.h" #include "canvas/efl_canvas_object.eo.h" #include "canvas/efl_canvas_object_animation.eo.h" diff --git a/src/lib/evas/canvas/efl_canvas_object.eo b/src/lib/evas/canvas/efl_canvas_object.eo index dbee3db658..bc02e56197 100644 --- a/src/lib/evas/canvas/efl_canvas_object.eo +++ b/src/lib/evas/canvas/efl_canvas_object.eo @@ -11,7 +11,7 @@ struct Efl.Event_Animator_Tick { abstract Efl.Canvas.Object extends Efl.Loop_Consumer implements Efl.Gfx.Entity, Efl.Gfx.Color, Efl.Gfx.Stack, Efl.Input.Interface, Efl.Gfx.Hint, -Efl.Gfx.Mapping, Efl.Canvas.Pointer, Efl.Gesture.Events, Efl.Canvas.Object_Animation +Efl.Gfx.Mapping, Efl.Canvas.Pointer, Efl.Canvas.Gesture_Events, Efl.Canvas.Object_Animation { [[Efl canvas object abstract class diff --git a/src/lib/evas/gesture/efl_canvas_gesture.c b/src/lib/evas/gesture/efl_canvas_gesture.c index 0cc7f8d423..26f279f557 100644 --- a/src/lib/evas/gesture/efl_canvas_gesture.c +++ b/src/lib/evas/gesture/efl_canvas_gesture.c @@ -49,4 +49,4 @@ _efl_canvas_gesture_timestamp_get(const Eo *obj EINA_UNUSED, Efl_Canvas_Gesture_ } #include "efl_canvas_gesture.eo.c" -#include "efl_gesture_events.eo.c" +#include "efl_canvas_gesture_events.eo.c" diff --git a/src/lib/evas/gesture/efl_canvas_gesture.eo b/src/lib/evas/gesture/efl_canvas_gesture.eo index eaced25ad8..22334e245e 100644 --- a/src/lib/evas/gesture/efl_canvas_gesture.eo +++ b/src/lib/evas/gesture/efl_canvas_gesture.eo @@ -1,5 +1,5 @@ import efl_canvas_gesture_types; -parse efl_gesture_events; +parse efl_canvas_gesture_events; abstract @beta Efl.Canvas.Gesture extends Efl.Object { @@ -11,7 +11,7 @@ abstract @beta Efl.Canvas.Gesture extends Efl.Object Typically this class is not used directly, instead, some sub-class of it (like @Efl.Canvas.Gesture_Tap or @Efl.Canvas.Gesture_Zoom) is retrieved from gesture events - (like @[Efl.Gesture.Events.gesture,tap] or @[Efl.Gesture.Events.gesture,zoom]). + (like @[Efl.Canvas.Gesture_Events.gesture,tap]
[EGIT] [core/efl] master 01/01: eolian_mono: add missing tabs to apply indentation
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=66c485d232bc2952d473fd7c877c952588a17ce6 commit 66c485d232bc2952d473fd7c877c952588a17ce6 Author: Jaehyun Cho Date: Mon Jan 13 20:43:22 2020 +0900 eolian_mono: add missing tabs to apply indentation Missing tabs are added to apply indentation. --- src/bin/eolian_mono/eolian/mono/events.hh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/eolian_mono/eolian/mono/events.hh b/src/bin/eolian_mono/eolian/mono/events.hh index 2b85c7e1a0..2acfcbb4b5 100644 --- a/src/bin/eolian_mono/eolian/mono/events.hh +++ b/src/bin/eolian_mono/eolian/mono/events.hh @@ -229,7 +229,7 @@ struct pack_event_info_and_call_visitor return as_generator( indent.inc() << "Contract.Requires(e != null, nameof(e));\n" << indent.inc() << "IntPtr info = e.arg.NativeHandle;\n" - << "CallNativeEventCallback(" << library_name << ", \"_" << evt_c_name << "\", IntPtr.Zero, null);\n" + << indent.inc() << "CallNativeEventCallback(" << library_name << ", \"_" << evt_c_name << "\", IntPtr.Zero, null);\n" ).generate(sink, attributes::unused, *context); } bool operator()(attributes::complex_type_def const& type) const @@ -241,7 +241,7 @@ struct pack_event_info_and_call_visitor return as_generator( indent.inc() << "Contract.Requires(e != null, nameof(e));\n" << indent.inc() << "IntPtr info = e.arg.Handle;\n" - << "CallNativeEventCallback(" << library_name << ", \"_" << evt_c_name << "\", IntPtr.Zero, null);\n" + << indent.inc() << "CallNativeEventCallback(" << library_name << ", \"_" << evt_c_name << "\", IntPtr.Zero, null);\n" ).generate(sink, attributes::unused, *context); } }; --
[EGIT] [core/efl] master 01/02: eolian_mono: add namespace to extension methods of ItemFactory
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1507ade7875ad485cedb49c0d32ce510685bd0e1 commit 1507ade7875ad485cedb49c0d32ce510685bd0e1 Author: Jaehyun Cho Date: Mon Jan 6 19:07:28 2020 +0900 eolian_mono: add namespace to extension methods of ItemFactory Summary: Like other classes and methods, the classes and methods for extension methods of ItemFactory are moved inside the namespace. Consequently, the namespace in the class name for extension methods is removed to avoid duplicate namespace name. Reviewers: lauromoura, felipealmeida, YOhoho, woohyun Reviewed By: YOhoho Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10972 --- src/bin/eolian_mono/eolian/mono/klass.hh | 10 -- src/tests/efl_mono/Model.cs | 1 + src/tests/efl_mono/Parts.cs | 1 + 3 files changed, 10 insertions(+), 2 deletions(-) diff --git a/src/bin/eolian_mono/eolian/mono/klass.hh b/src/bin/eolian_mono/eolian/mono/klass.hh index 478c6a9c80..6c6fd906cd 100644 --- a/src/bin/eolian_mono/eolian/mono/klass.hh +++ b/src/bin/eolian_mono/eolian/mono/klass.hh @@ -397,11 +397,14 @@ struct klass if (extension_method_stream.tellp() <= 0) return true; + if (!name_helpers::open_namespaces(sink, cls.namespaces, context)) + return false; + if(!as_generator (lit("#if EFL_BETA\n") << "#pragma warning disable CS1591\n" // Disabling warnings as DocFx will hide these classes - <<"public static class " << (string % "_") << name_helpers::klass_inherit_name(cls) - << "_ExtensionMethods {\n" + << "public static class " << name_helpers::klass_concrete_name(cls) + << "ExtensionMethods {\n" << extension_method_stream.str() << "}\n" << "#pragma warning restore CS1591\n" @@ -409,6 +412,9 @@ struct klass .generate(sink, cls.namespaces, context)) return false; + if (!name_helpers::close_namespaces(sink, cls.namespaces, context)) + return false; + return true; } diff --git a/src/tests/efl_mono/Model.cs b/src/tests/efl_mono/Model.cs index bb6ba3b01c..69596af25d 100644 --- a/src/tests/efl_mono/Model.cs +++ b/src/tests/efl_mono/Model.cs @@ -3,6 +3,7 @@ using System; using System.Threading.Tasks; using System.Diagnostics.CodeAnalysis; +using Efl.Ui; #if EFL_BETA diff --git a/src/tests/efl_mono/Parts.cs b/src/tests/efl_mono/Parts.cs index 3e2da24152..e206681e1a 100644 --- a/src/tests/efl_mono/Parts.cs +++ b/src/tests/efl_mono/Parts.cs @@ -19,6 +19,7 @@ using System; using System.Diagnostics.CodeAnalysis; +using Efl.Ui; namespace TestSuite { --
[EGIT] [core/efl] master 01/01: csharp: add documentation of class Efl.Eo.Config in iwrapper
xartigas pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=e16b32c37643d3243b2350df053474d84717c2a2 commit e16b32c37643d3243b2350df053474d84717c2a2 Author: Jaehyun Cho Date: Fri Dec 20 09:44:41 2019 +0100 csharp: add documentation of class Efl.Eo.Config in iwrapper Summary: Description and since efl version of the class Efl.Eo.Config is added. Reviewers: YOhoho, lauromoura, segfaultxavi Reviewed By: segfaultxavi Subscribers: segfaultxavi, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10933 --- src/bindings/mono/eo_mono/iwrapper.cs | 13 - 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/bindings/mono/eo_mono/iwrapper.cs b/src/bindings/mono/eo_mono/iwrapper.cs index b4f1af9fcd..29a346dcc4 100644 --- a/src/bindings/mono/eo_mono/iwrapper.cs +++ b/src/bindings/mono/eo_mono/iwrapper.cs @@ -920,15 +920,26 @@ internal struct WrappingHandle public IntPtr NativeHandle { get; private set; } } +/// +/// Manage the initialization and cleanup for the Efl object subsystem. +/// Since EFL 1.24. +/// public static class Config { - +/// +/// Initialize the EFL object subsystem. +/// Since EFL 1.24. +/// public static void Init() { Globals.efl_object_init(); Globals.SetNativeDisposeCallbacks(); } +/// +/// Shutdown the EFL object subsystem. +/// Since EFL 1.24. +/// public static void Shutdown() { Globals.efl_object_shutdown(); --
[EGIT] [core/efl] master 01/01: eolian_mono: change Constants class to static class
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=8146728c780914614ec49177edd5ea18030065e3 commit 8146728c780914614ec49177edd5ea18030065e3 Author: Jaehyun Cho Date: Fri Dec 20 14:25:38 2019 +0900 eolian_mono: change Constants class to static class Summary: Since Constants class contains static readonly values only, the Constants class is actually a static class. Therefore, Constants class is changed from public partial class to public static partial class. ref T8398 Reviewers: YOhoho, lauromoura Reviewed By: YOhoho Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D10929 --- src/bin/eolian_mono/eolian/mono/variable_definition.hh | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/bin/eolian_mono/eolian/mono/variable_definition.hh b/src/bin/eolian_mono/eolian/mono/variable_definition.hh index e63db2047d..fe9f6738e6 100644 --- a/src/bin/eolian_mono/eolian/mono/variable_definition.hh +++ b/src/bin/eolian_mono/eolian/mono/variable_definition.hh @@ -45,11 +45,11 @@ struct constant_definition_generator template bool generate(OutputIterator sink, attributes::constant_def constant, Context const& context) const { -// Open partial class +// Open static partial class if (!name_helpers::open_namespaces(sink, constant.namespaces, context)) return false; -if (!as_generator("public partial class Constants\n{\n").generate(sink, attributes::unused, context)) +if (!as_generator("public static partial class Constants\n{\n").generate(sink, attributes::unused, context)) return false; std::string literal; @@ -83,7 +83,7 @@ struct constant_definition_generator // FIXME missing documentation generator -// Close partial class +// Close static partial class if (!as_generator("}\n").generate(sink, attributes::unused, context)) return false; --
[EGIT] [core/efl] master 01/01: csharp: apply same form of "Since EFL" to all manual bindings .cs files
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=bfc095104cf286485672ea78049ca2677e6e5fea commit bfc095104cf286485672ea78049ca2677e6e5fea Author: Jaehyun Cho Date: Tue Dec 17 20:04:01 2019 +0900 csharp: apply same form of "Since EFL" to all manual bindings .cs files The following form of "Since EFL" is applied to descriptions of all manual bindings .cs files. /// Since EFL 1.XX. --- .../mono/efl_mono/efl_csharp_application.cs| 2 +- src/bindings/mono/eina_mono/eina_environment.cs| 6 +++--- src/bindings/mono/eina_mono/eina_hash.cs | 2 +- src/bindings/mono/eina_mono/eina_slice.cs | 6 +++--- src/bindings/mono/eina_mono/eina_value.cs | 2 +- src/bindings/mono/eldbus_mono/eldbus_object.cs | 4 +--- src/bindings/mono/eo_mono/iwrapper.cs | 4 ++-- src/bindings/mono/eo_mono/workaround.cs| 25 +++--- 8 files changed, 29 insertions(+), 22 deletions(-) diff --git a/src/bindings/mono/efl_mono/efl_csharp_application.cs b/src/bindings/mono/efl_mono/efl_csharp_application.cs index 63d9aacae8..17a777ec42 100644 --- a/src/bindings/mono/efl_mono/efl_csharp_application.cs +++ b/src/bindings/mono/efl_mono/efl_csharp_application.cs @@ -43,7 +43,7 @@ public enum Components : Int32 /// /// Elementary Widget toolkit: Elm. /// it's depend of . -/// Since EFL 1.24 +/// Since EFL 1.24. /// Ui = Basic | 0x2, diff --git a/src/bindings/mono/eina_mono/eina_environment.cs b/src/bindings/mono/eina_mono/eina_environment.cs index 7cef31cbf1..e7f847b4e2 100644 --- a/src/bindings/mono/eina_mono/eina_environment.cs +++ b/src/bindings/mono/eina_mono/eina_environment.cs @@ -16,7 +16,7 @@ internal static class Environment /// /// Returns the value of the environment variable named name. /// -/// Since EFL 1.24 +/// Since EFL 1.24. /// /// The name of the variable to be retrieved /// The value of the variable. null if not set. @@ -28,7 +28,7 @@ internal static class Environment /// /// Sets a native environment variable. /// -/// Since EFL 1.24 +/// Since EFL 1.24. /// /// The name of the variable /// The value to be set. @@ -50,4 +50,4 @@ internal static partial class NativeCustomExportFunctions public static extern Eina.Error efl_mono_native_setenv(string name, string value, int overwrite); } -} \ No newline at end of file +} diff --git a/src/bindings/mono/eina_mono/eina_hash.cs b/src/bindings/mono/eina_mono/eina_hash.cs index c254d58ae5..5b6f4735c1 100644 --- a/src/bindings/mono/eina_mono/eina_hash.cs +++ b/src/bindings/mono/eina_mono/eina_hash.cs @@ -196,7 +196,7 @@ public static class HashNativeFunctions /// Wrapper around native dictionary mapping keys to values. /// -/// Since EFL 1.23. +/// Since EFL 1.23. /// public class Hash : IEnumerable>, IDisposable { diff --git a/src/bindings/mono/eina_mono/eina_slice.cs b/src/bindings/mono/eina_mono/eina_slice.cs index c7a1fd984f..e47da1071c 100644 --- a/src/bindings/mono/eina_mono/eina_slice.cs +++ b/src/bindings/mono/eina_mono/eina_slice.cs @@ -49,7 +49,7 @@ public interface ISliceBase /// Pointer to a slice of native memory. /// -/// Since EFL 1.23. +/// Since EFL 1.23. /// [StructLayout(LayoutKind.Sequential)] public struct Slice : ISliceBase, IEquatable @@ -114,7 +114,7 @@ public struct Slice : ISliceBase, IEquatable => (Length == other.Length) ^ (Mem == other.Mem); /// Returns whether lhs is equal to rhs. -/// Since EFL 1.24 +/// Since EFL 1.24. /// /// The left hand side of the operator. /// The right hand side of the operator. @@ -134,7 +134,7 @@ public struct Slice : ISliceBase, IEquatable /// Pointer to a slice of native memory. /// -/// Since EFL 1.23. +/// Since EFL 1.23. /// [StructLayout(LayoutKind.Sequential)] public struct RwSlice : ISliceBase, IEquatable diff --git a/src/bindings/mono/eina_mono/eina_value.cs b/src/bindings/mono/eina_mono/eina_value.cs index 2a2508e08b..5b203812da 100644 --- a/src/bindings/mono/eina_mono/eina_value.cs +++ b/src/bindings/mono/eina_mono/eina_value.cs @@ -927,7 +927,7 @@ static class ValueTypeMethods /// marshall_type_impl.hh in the generator). User-facing API still uses Eina.ValueType /// normally. /// -/// Since EFL 1.23. +/// Since EFL 1.23. /// [EditorBrowsable(EditorBrowsableState.Never)] public class ValueTypeBox diff --git a/src/bindings/mono/eldbus_mono/eldbus_object.cs b/src/bindings/mono/eldbus_mono/eldbus_object.cs index 3c77d258c4..ed78fc7a15 100644 --- a/src/bindings/mono/eldbus_mono/eldbus_object.cs +++ b/src/bindings/mono/eldbus_mono/eldbus_object.cs @@ -292,9 +292,7 @@ public class Object : System.IDisposable /// /// Decrease object reference. /// If reference == 0 object will be freed and all its children. -//
[EGIT] [core/efl] master 01/01: efl_canvas_object_animation: support duration 0
bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=cb817caa808b927937bd1f73428acfc4ad7d03f2 commit cb817caa808b927937bd1f73428acfc4ad7d03f2 Author: Jaehyun Cho Date: Fri Dec 6 16:27:06 2019 + efl_canvas_object_animation: support duration 0 The duration of animation means how long the animation is executed. Therefore, if duration is 0, then the final state of animation should be applied to the target object immediately. In this case, if final_state_keep is true, then the final state of animation is preserved. Otherwise, the final state of animation is not preserved. ref T8436, T8513 Reviewed-by: Marcel Hollerbach Differential Revision: https://phab.enlightenment.org/D10812 --- src/lib/evas/canvas/efl_canvas_animation.c| 4 +-- src/lib/evas/canvas/efl_canvas_object_animation.c | 10 +- src/tests/evas/efl_canvas_animation.c | 42 +++ 3 files changed, 53 insertions(+), 3 deletions(-) diff --git a/src/lib/evas/canvas/efl_canvas_animation.c b/src/lib/evas/canvas/efl_canvas_animation.c index 53d006fd20..ae88deca24 100644 --- a/src/lib/evas/canvas/efl_canvas_animation.c +++ b/src/lib/evas/canvas/efl_canvas_animation.c @@ -9,7 +9,7 @@ _efl_canvas_animation_duration_set(Eo *eo_obj EINA_UNUSED, Efl_Canvas_Animation_Data *pd, double sec) { - EINA_SAFETY_ON_FALSE_RETURN(sec > 0.0); + EINA_SAFETY_ON_FALSE_RETURN(sec >= 0.0); pd->duration = sec; } @@ -146,7 +146,7 @@ _efl_canvas_animation_efl_object_constructor(Eo *obj, Efl_Canvas_Animation_Data EOLIAN static void _efl_canvas_animation_default_duration_set(double animation_time) { - EINA_SAFETY_ON_FALSE_RETURN(animation_time > 0.0); + EINA_SAFETY_ON_FALSE_RETURN(animation_time >= 0.0); _default_animation_time = animation_time; } diff --git a/src/lib/evas/canvas/efl_canvas_object_animation.c b/src/lib/evas/canvas/efl_canvas_object_animation.c index 3fbc0e94f4..3069d067ba 100644 --- a/src/lib/evas/canvas/efl_canvas_object_animation.c +++ b/src/lib/evas/canvas/efl_canvas_object_animation.c @@ -43,7 +43,15 @@ _animator_cb(void *data, const Efl_Event *ev EINA_UNUSED) duration = efl_animation_duration_get(pd->in->animation) / pd->in->speed; elapsed_time = current - pd->in->run_start_time; - vector = elapsed_time / duration; + if (EINA_DBL_EQ(duration, 0)) + { +if (pd->in->speed < 0.0) + vector = -1.0; +else + vector = 1.0; + } + else + vector = elapsed_time / duration; /* When animation player starts, _animator_cb() is called immediately so * both elapsed time and progress are 0.0. diff --git a/src/tests/evas/efl_canvas_animation.c b/src/tests/evas/efl_canvas_animation.c index e7d0b16ff9..19b47a6429 100644 --- a/src/tests/evas/efl_canvas_animation.c +++ b/src/tests/evas/efl_canvas_animation.c @@ -42,8 +42,50 @@ EFL_START_TEST(efl_canvas_animation_default_value) } EFL_END_TEST +static void +_duration_zero_anim_running_cb(void *data, const Efl_Event *event) +{ + double animation_speed = *((double*) data); + double animation_running_position = *((double*) event->info); + + if (animation_speed > 0.0) + ck_assert(EINA_DBL_EQ(animation_running_position, 1.0)); + else + ck_assert(EINA_DBL_EQ(animation_running_position, 0.0)); +} + +static void +helper_inc_int(void *data, const Efl_Event *event EINA_UNUSED) +{ + int *called = (int*) data; + *called+=1; +} + +EFL_START_TEST(efl_canvas_animation_duration_zero) +{ + int running = 0; + Evas *evas = EVAS_TEST_INIT_EVAS(); + Efl_Canvas_Rectangle *obj = efl_add(EFL_CANVAS_RECTANGLE_CLASS, evas); + Efl_Canvas_Animation *animation = efl_add(EFL_CANVAS_ANIMATION_CLASS, evas, efl_animation_duration_set(efl_added, 0.0)); + + double animation_speed = 1.0; + efl_event_callback_add(obj, EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_PROGRESS_UPDATED, _duration_zero_anim_running_cb, _speed); + efl_event_callback_add(obj, EFL_CANVAS_OBJECT_ANIMATION_EVENT_ANIMATION_PROGRESS_UPDATED, helper_inc_int , ); + efl_canvas_object_animation_start(obj, animation, animation_speed, 0.0); + ck_assert(EINA_DBL_EQ(efl_canvas_object_animation_progress_get(obj), -1.0)); + ck_assert_int_eq(running, 1); + + running = 0; + animation_speed = -1.0; + efl_canvas_object_animation_start(obj, animation, animation_speed, 0.0); + ck_assert(EINA_DBL_EQ(efl_canvas_object_animation_progress_get(obj), -1.0)); + ck_assert_int_eq(running, 1); +} +EFL_END_TEST + void efl_test_canvas_animation(TCase *tc) { tcase_add_test(tc, efl_canvas_animation_negative_double_checking); tcase_add_test(tc, efl_canvas_animation_default_value); + tcase_add_test(tc, efl_canvas_animation_duration_zero); } --
[EGIT] [core/efl] master 01/01: efl_mono: generate efl_canvas_text.eo.cs
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a55777c9258f6cf0df1bb68377a9edb19a399caf commit a55777c9258f6cf0df1bb68377a9edb19a399caf Author: Jaehyun Cho Date: Fri May 17 17:35:00 2019 +0900 efl_mono: generate efl_canvas_text.eo.cs To use canvas text in efl csharp bindings, it is permitted to generate efl_canvas_text.eo.cs. --- src/Makefile_Efl_Mono.am | 1 - src/bindings/mono/meson.build | 1 - 2 files changed, 2 deletions(-) diff --git a/src/Makefile_Efl_Mono.am b/src/Makefile_Efl_Mono.am index cc6e38570c..a5912b5c98 100644 --- a/src/Makefile_Efl_Mono.am +++ b/src/Makefile_Efl_Mono.am @@ -130,7 +130,6 @@ include Makefile_Eolian_Mono_Helper.am ### Efl C Sharp Binding evas_eolian_blacklisted_files = \ -lib/evas/canvas/efl_canvas_text.eo.cs \ lib/evas/canvas/efl_canvas_scene3d.eo.cs \ lib/evas/canvas/evas_canvas3d_camera.eo.cs \ lib/evas/canvas/evas_canvas3d_light.eo.cs \ diff --git a/src/bindings/mono/meson.build b/src/bindings/mono/meson.build index c55a8f4e37..69a5f8491f 100644 --- a/src/bindings/mono/meson.build +++ b/src/bindings/mono/meson.build @@ -42,7 +42,6 @@ mono_sublibs = [ blacklisted_files = [ 'efl_class.eo', - 'efl_canvas_text.eo', 'efl_canvas_scene3d.eo', 'evas_canvas3d_camera.eo', 'evas_canvas3d_light.eo', --
[EGIT] [core/efl] master 01/01: evas_gesture: fix meson.build to build and install correctly
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=099eb2c315a277bda10f41709d7f936b0ae7fb20 commit 099eb2c315a277bda10f41709d7f936b0ae7fb20 Author: Jaehyun Cho Date: Fri May 17 19:32:24 2019 +0900 evas_gesture: fix meson.build to build and install correctly --- src/lib/evas/gesture/meson.build | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/lib/evas/gesture/meson.build b/src/lib/evas/gesture/meson.build index 3c7847aeac..04cb753fcd 100644 --- a/src/lib/evas/gesture/meson.build +++ b/src/lib/evas/gesture/meson.build @@ -29,13 +29,15 @@ foreach eo_file : pub_eo_files depfile : eo_file + '.d', install : true, install_dir : join_paths(dir_package_include, 'gesture'), -command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories, +command : eolian_gen + [ '-I', meson.current_source_dir(), eolian_include_directories, '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'), '-o', 'c:' + join_paths(meson.current_build_dir(), eo_file + '.c'), '-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'), '-gchd', '@INPUT@']) endforeach +pub_evas_eo_files += files(pub_eo_files) + pub_eo_types_files = [ 'efl_canvas_gesture_types.eot', ] @@ -51,7 +53,7 @@ foreach eo_file : pub_eo_types_files depfile : eo_file + '.d', install : true, install_dir : join_paths(dir_package_include, 'gesture'), -command : [eolian_gen, '-I', meson.current_source_dir(), eolian_include_directories, +command : eolian_gen + ['-I', meson.current_source_dir(), eolian_include_directories, '-o', 'h:' + join_paths(meson.current_build_dir(), eo_file + '.h'), '-o', 'd:' + join_paths(meson.current_build_dir(), eo_file + '.d'), '-ghd', '@INPUT@']) --
[EGIT] [core/efl] master 01/01: efl_canvas_text: fix to set halign correctly
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6da6bd536e1386488d3e2e746659f113226a3e02 commit 6da6bd536e1386488d3e2e746659f113226a3e02 Author: Jaehyun Cho Date: Wed May 15 21:53:02 2019 +0900 efl_canvas_text: fix to set halign correctly Previously, halign_auto was AUTO_NORMAL when halign was set so the given halign value could not be applied correctly. Now, halign_auto is modified to AUTO_NONE before halign is set so the given halign value is applied correctly. --- src/lib/evas/canvas/evas_object_textblock.c | 8 ++-- 1 file changed, 2 insertions(+), 6 deletions(-) diff --git a/src/lib/evas/canvas/evas_object_textblock.c b/src/lib/evas/canvas/evas_object_textblock.c index bb8deab1ce..c0948b1756 100644 --- a/src/lib/evas/canvas/evas_object_textblock.c +++ b/src/lib/evas/canvas/evas_object_textblock.c @@ -15995,11 +15995,6 @@ _efl_canvas_text_efl_text_font_font_bitmap_scalable_get(const Eo *obj EINA_UNUSE _FMT(x) = v; \ _canvas_text_format_changed(obj, o); -#define _FMT_DBL_SET(x, v) \ - if (EINA_DBL_EQ(_FMT(x), v)) return; \ - _FMT(x) = v; \ - _canvas_text_format_changed(obj, o); - /* Helper: updates format field of extended format information, and informs if changed. */ #define _FMT_INFO_SET_START(x, v) \ Eina_Bool changed = EINA_FALSE; \ @@ -16453,8 +16448,9 @@ _efl_canvas_text_efl_text_format_halign_set(Eo *obj, Efl_Canvas_Text_Data *o, double value) { ASYNC_BLOCK; - _FMT_DBL_SET(halign, value); + if (EINA_DBL_EQ(_FMT(halign), value)) return; _FMT(halign_auto) = EVAS_TEXTBLOCK_ALIGN_AUTO_NONE; + _FMT_SET(halign, value); } static double --
[EGIT] [core/efl] master 02/02: efl_ui_popup: add efl.background swallow part
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b60ca228395670bc644e33fc5fe1ea546c3deaeb commit b60ca228395670bc644e33fc5fe1ea546c3deaeb Author: Jaehyun Cho Date: Wed May 15 19:14:38 2019 +0900 efl_ui_popup: add efl.background swallow part To make background part cover popup's bg image, efl.background swallow part is added. --- data/elementary/themes/edc/efl/popup.edc | 12 +++- 1 file changed, 11 insertions(+), 1 deletion(-) diff --git a/data/elementary/themes/edc/efl/popup.edc b/data/elementary/themes/edc/efl/popup.edc index ac03f2642c..68714ade58 100644 --- a/data/elementary/themes/edc/efl/popup.edc +++ b/data/elementary/themes/edc/efl/popup.edc @@ -15,6 +15,11 @@ group { "efl/popup"; image.normal: "rounded_square.png"; } } + swallow { "efl.background"; + desc { "default"; +rel.to: "bg"; + } + } swallow { "efl.content"; desc { "default"; rel.to: "base"; @@ -34,7 +39,12 @@ group { "efl/alert_popup"; min: 100 100; image.border: 15 15 15 15; image.normal: "rounded_square.png"; - } + } + } + swallow { "efl.background"; + desc { "default"; +rel.to: "bg"; + } } spacer { "base"; desc { "default"; --
[EGIT] [core/efl] master 01/02: efl_ui: fix to use Efl.Ui.Widget's "background" and "shadow" part class
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6fd7c3f727102f2206a5ac08ad56902b96d64713 commit 6fd7c3f727102f2206a5ac08ad56902b96d64713 Author: Jaehyun Cho Date: Wed May 15 17:23:32 2019 +0900 efl_ui: fix to use Efl.Ui.Widget's "background" and "shadow" part class To use Efl.Ui.Widget's "background" and "shadow" part class, each widget inheriting from Efl.Ui.Widget should not use their Part class for "background" and "shadow" parts. --- src/lib/elementary/efl_ui_scroll_alert_popup.c | 12 +++- src/lib/elementary/efl_ui_text.c | 12 +++- src/lib/elementary/efl_ui_text_alert_popup.c | 12 +++- src/lib/elementary/efl_ui_textpath.c | 13 - 4 files changed, 45 insertions(+), 4 deletions(-) diff --git a/src/lib/elementary/efl_ui_scroll_alert_popup.c b/src/lib/elementary/efl_ui_scroll_alert_popup.c index 54e28c5643..3ea05b1b2b 100644 --- a/src/lib/elementary/efl_ui_scroll_alert_popup.c +++ b/src/lib/elementary/efl_ui_scroll_alert_popup.c @@ -282,7 +282,17 @@ _efl_ui_scroll_alert_popup_efl_object_constructor(Eo *obj, /* Efl.Part begin */ -ELM_PART_OVERRIDE(efl_ui_scroll_alert_popup, EFL_UI_SCROLL_ALERT_POPUP, Efl_Ui_Scroll_Alert_Popup_Data) +static Eina_Bool +_part_is_efl_ui_scroll_alert_popup_part(const Eo *obj EINA_UNUSED, const char *part) +{ + //Use Efl.Ui.Widget's "background" and "shadow" parts + if (eina_streq(part, "background") || eina_streq(part, "shadow")) + return EINA_FALSE; + + return EINA_TRUE; +} + +ELM_PART_OVERRIDE_PARTIAL(efl_ui_scroll_alert_popup, EFL_UI_SCROLL_ALERT_POPUP, Efl_Ui_Scroll_Alert_Popup_Data, _part_is_efl_ui_scroll_alert_popup_part) ELM_PART_OVERRIDE_CONTENT_SET(efl_ui_scroll_alert_popup, EFL_UI_SCROLL_ALERT_POPUP, Efl_Ui_Scroll_Alert_Popup_Data) ELM_PART_OVERRIDE_CONTENT_GET(efl_ui_scroll_alert_popup, EFL_UI_SCROLL_ALERT_POPUP, Efl_Ui_Scroll_Alert_Popup_Data) ELM_PART_OVERRIDE_CONTENT_UNSET(efl_ui_scroll_alert_popup, EFL_UI_SCROLL_ALERT_POPUP, Efl_Ui_Scroll_Alert_Popup_Data) diff --git a/src/lib/elementary/efl_ui_text.c b/src/lib/elementary/efl_ui_text.c index 9cef215288..87f2ca5cc2 100644 --- a/src/lib/elementary/efl_ui_text.c +++ b/src/lib/elementary/efl_ui_text.c @@ -4054,7 +4054,17 @@ _efl_ui_text_text_get(Eo *obj EINA_UNUSED, Efl_Ui_Text_Data *pd, #undef STRCMP -ELM_PART_OVERRIDE(efl_ui_text, EFL_UI_TEXT, Efl_Ui_Text_Data) +static Eina_Bool +_part_is_efl_ui_text_part(const Eo *obj EINA_UNUSED, const char *part) +{ + //Use Efl.Ui.Widget's "background" and "shadow" parts + if (eina_streq(part, "background") || eina_streq(part, "shadow")) + return EINA_FALSE; + + return EINA_TRUE; +} + +ELM_PART_OVERRIDE_PARTIAL(efl_ui_text, EFL_UI_TEXT, Efl_Ui_Text_Data, _part_is_efl_ui_text_part) ELM_PART_OVERRIDE_TEXT_SET(efl_ui_text, EFL_UI_TEXT, Efl_Ui_Text_Data) ELM_PART_OVERRIDE_TEXT_GET(efl_ui_text, EFL_UI_TEXT, Efl_Ui_Text_Data) #include "efl_ui_text_part.eo.c" diff --git a/src/lib/elementary/efl_ui_text_alert_popup.c b/src/lib/elementary/efl_ui_text_alert_popup.c index 355b8c21f3..230328d21e 100644 --- a/src/lib/elementary/efl_ui_text_alert_popup.c +++ b/src/lib/elementary/efl_ui_text_alert_popup.c @@ -290,7 +290,17 @@ _efl_ui_text_alert_popup_efl_object_constructor(Eo *obj, /* Efl.Part begin */ -ELM_PART_OVERRIDE(efl_ui_text_alert_popup, EFL_UI_TEXT_ALERT_POPUP, Efl_Ui_Text_Alert_Popup_Data) +static Eina_Bool +_part_is_efl_ui_text_alert_popup_part(const Eo *obj EINA_UNUSED, const char *part) +{ + //Use Efl.Ui.Widget's "background" and "shadow" parts + if (eina_streq(part, "background") || eina_streq(part, "shadow")) + return EINA_FALSE; + + return EINA_TRUE; +} + +ELM_PART_OVERRIDE_PARTIAL(efl_ui_text_alert_popup, EFL_UI_TEXT_ALERT_POPUP, Efl_Ui_Text_Alert_Popup_Data, _part_is_efl_ui_text_alert_popup_part) ELM_PART_OVERRIDE_CONTENT_SET(efl_ui_text_alert_popup, EFL_UI_TEXT_ALERT_POPUP, Efl_Ui_Text_Alert_Popup_Data) ELM_PART_OVERRIDE_CONTENT_GET(efl_ui_text_alert_popup, EFL_UI_TEXT_ALERT_POPUP, Efl_Ui_Text_Alert_Popup_Data) ELM_PART_OVERRIDE_CONTENT_UNSET(efl_ui_text_alert_popup, EFL_UI_TEXT_ALERT_POPUP, Efl_Ui_Text_Alert_Popup_Data) diff --git a/src/lib/elementary/efl_ui_textpath.c b/src/lib/elementary/efl_ui_textpath.c index 593339c059..10165607c7 100644 --- a/src/lib/elementary/efl_ui_textpath.c +++ b/src/lib/elementary/efl_ui_textpath.c @@ -748,7 +748,18 @@ _efl_ui_textpath_ellipsis_get(const Eo *obj EINA_UNUSED, Efl_Ui_Textpath_Data *p } /* Efl.Part begin */ -ELM_PART_OVERRIDE(efl_ui_textpath, EFL_UI_TEXTPATH, Efl_Ui_Textpath_Data) + +static Eina_Bool +_part_is_efl_ui_textpath_part(const Eo *obj EINA_UNUSED, const char *part) +{ + //Use Efl.Ui.Widget's "background" an
[EGIT] [core/efl] master 01/02: efl_mono: move libeflcustomexportsmono.so to lib with versions by meson
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=ecce35c555be583c1a6447cca4a310eb1c1a9871 commit ecce35c555be583c1a6447cca4a310eb1c1a9871 Author: Jaehyun Cho Date: Fri May 10 19:29:34 2019 +0900 efl_mono: move libeflcustomexportsmono.so to lib with versions by meson meson generates libeflcustomexportsmono.so to lib/efl-mono-1/ directory unlike other so files. Moreover, the so file does not have versions in the file name unlike other so files. Like other so files, libeflcustomexportsmono.so is moved to lib directory with versions in the file name. --- src/bindings/mono/meson.build | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bindings/mono/meson.build b/src/bindings/mono/meson.build index e7c5e00d9a..c17956736f 100644 --- a/src/bindings/mono/meson.build +++ b/src/bindings/mono/meson.build @@ -94,8 +94,8 @@ blacklisted_files = [ efl_mono_lib = library('eflcustomexportsmono', join_paths('..', '..', 'lib', 'efl_mono', 'efl_custom_exports_mono.c'), install : true, -install_dir : join_paths(dir_lib, 'efl-mono-'+version_major), -dependencies : [eo, eina, ecore] +dependencies : [eo, eina, ecore], +version : meson.project_version() ) beta_option = [] --
[EGIT] [core/efl] master 02/02: efl_mono: generate efl_canvas_vg_object.eo.cs by meson
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=9d28d91626fd3704c5f9b046c7c18a49e8ac4888 commit 9d28d91626fd3704c5f9b046c7c18a49e8ac4888 Author: Jaehyun Cho Date: Fri May 10 19:36:17 2019 +0900 efl_mono: generate efl_canvas_vg_object.eo.cs by meson This commit is the same as 0e8f289d7dfb4c5877559917a57a3ac08545fb86 but this commit is for meson. To use vector graphics in efl csharp bindings, it is permitted to generate efl_canvas_vg_object.eo.cs. Other efl_canvas_vg .eo.cs files have already been generated because the file names were changed from efl_vg to efl_canvas_vg. --- src/bindings/mono/meson.build | 8 1 file changed, 8 deletions(-) diff --git a/src/bindings/mono/meson.build b/src/bindings/mono/meson.build index c17956736f..c55a8f4e37 100644 --- a/src/bindings/mono/meson.build +++ b/src/bindings/mono/meson.build @@ -53,14 +53,6 @@ blacklisted_files = [ 'evas_canvas3d_primitive.eo', 'evas_canvas3d_scene.eo', 'evas_canvas3d_texture.eo', - 'efl_canvas_vg_object.eo', - 'efl_vg.eo', - 'efl_vg_container.eo', - 'efl_vg_gradient.eo', - 'efl_vg_gradient_radial.eo', - 'efl_vg_gradient_linear.eo', - 'efl_vg_root_node.eo', - 'efl_vg_shape.eo.cs', 'efl_io_buffer.eo', 'efl_io_queue.eo', 'efl_io_sizer.eo', --
[EGIT] [core/efl] master 01/01: efl_mono: generate efl_canvas_vg_object.eo.cs
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=0e8f289d7dfb4c5877559917a57a3ac08545fb86 commit 0e8f289d7dfb4c5877559917a57a3ac08545fb86 Author: Jaehyun Cho Date: Thu May 9 15:59:54 2019 +0900 efl_mono: generate efl_canvas_vg_object.eo.cs To use vector graphics in efl csharp bindings, it is permitted to generate efl_canvas_vg_object.eo.cs. Other efl_canvas_vg .eo.cs files have already been generated because the file names were changed from efl_vg to efl_canvas_vg. --- src/Makefile_Efl_Mono.am | 10 +- 1 file changed, 1 insertion(+), 9 deletions(-) diff --git a/src/Makefile_Efl_Mono.am b/src/Makefile_Efl_Mono.am index 5c6d57e626..cc6e38570c 100644 --- a/src/Makefile_Efl_Mono.am +++ b/src/Makefile_Efl_Mono.am @@ -140,15 +140,7 @@ lib/evas/canvas/evas_canvas3d_node.eo.cs \ lib/evas/canvas/evas_canvas3d_object.eo.cs \ lib/evas/canvas/evas_canvas3d_primitive.eo.cs \ lib/evas/canvas/evas_canvas3d_scene.eo.cs \ -lib/evas/canvas/evas_canvas3d_texture.eo.cs \ -lib/evas/canvas/efl_canvas_vg_object.eo.cs \ -lib/evas/canvas/efl_vg.eo.cs \ -lib/evas/canvas/efl_vg_container.eo.cs \ -lib/evas/canvas/efl_vg_gradient.eo.cs \ -lib/evas/canvas/efl_vg_gradient_radial.eo.cs \ -lib/evas/canvas/efl_vg_gradient_linear.eo.cs \ -lib/evas/canvas/efl_vg_root_node.eo.cs \ -lib/evas/canvas/efl_vg_shape.eo.cs +lib/evas/canvas/evas_canvas3d_texture.eo.cs efl_eolian_blacklisted_files = \ lib/efl/interfaces/efl_io_buffer.eo.cs \ --
[EGIT] [core/efl] master 01/01: efl_mono: fix to load libevas.so based on efl.Libs.Evas
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=588dc4d0af05b405b1bf83dcc06ff051da08a6fc commit 588dc4d0af05b405b1bf83dcc06ff051da08a6fc Author: Jaehyun Cho Date: Fri May 3 16:42:42 2019 +0900 efl_mono: fix to load libevas.so based on efl.Libs.Evas libevas.so is loaded based on efl.Libs.Evas in efl_libs.cs. Therefore, the hard coded string "evas" is replaced with efl.Libs.Evas. --- src/bindings/mono/efl_mono/efl_all.cs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bindings/mono/efl_mono/efl_all.cs b/src/bindings/mono/efl_mono/efl_all.cs index 9a49730093..873bd67e48 100644 --- a/src/bindings/mono/efl_mono/efl_all.cs +++ b/src/bindings/mono/efl_mono/efl_all.cs @@ -30,7 +30,7 @@ static class UnsafeNativeMethods static UnsafeNativeMethods() { -_evas_init = new Efl.Eo.FunctionWrapper("evas", "evas_init"); +_evas_init = new Efl.Eo.FunctionWrapper(efl.Libs.Evas, "evas_init"); } public static void evas_init() --
[EGIT] [core/efl] efl-1.22 45/84: efl_ui_stack: handle memory allocation fail
zmike pushed a commit to branch efl-1.22. http://git.enlightenment.org/core/efl.git/commit/?id=d79cc48fca6c905d486e14d759f3bdf79375ae25 commit d79cc48fca6c905d486e14d759f3bdf79375ae25 Author: Jaehyun Cho Date: Wed Apr 24 14:44:19 2019 +0900 efl_ui_stack: handle memory allocation fail check if memory allocation succeeds and handle memory allocation fail. --- src/lib/elementary/efl_ui_stack.c | 18 ++ 1 file changed, 18 insertions(+) diff --git a/src/lib/elementary/efl_ui_stack.c b/src/lib/elementary/efl_ui_stack.c index e7edcdaf57..c330fada92 100644 --- a/src/lib/elementary/efl_ui_stack.c +++ b/src/lib/elementary/efl_ui_stack.c @@ -162,6 +162,15 @@ _show_content_with_anim(Efl_Ui_Stack *obj, Efl_Ui_Stack_Data *pd, Content_Data * efl_animation_player_target_set(pd->show, cd->content); Transit_Data *td = calloc(1, sizeof(Transit_Data)); + if (!td) + { +ERR("Memory allocation error!"); + +//show content without animation +_show_content_without_anim(obj, cd->content); +return; + } + td->cd = cd; pd->show_td = td; @@ -185,6 +194,15 @@ _hide_content_with_anim(Efl_Ui_Stack *obj EINA_UNUSED, Efl_Ui_Stack_Data *pd, Co efl_animation_player_target_set(pd->hide, cd->content); Transit_Data *td = calloc(1, sizeof(Transit_Data)); + if (!td) + { +ERR("Memory allocation error!"); + +//hide content without animation +_hide_content_without_anim(obj, cd->content); +return; + } + td->cd = cd; pd->hide_td = td; --
[EGIT] [core/efl] efl-1.22 46/84: efl_canvas_animation_player: fix to apply animation when player starts
zmike pushed a commit to branch efl-1.22. http://git.enlightenment.org/core/efl.git/commit/?id=d5fb149db2afd11d6fa57c8ea3046edd811b19cc commit d5fb149db2afd11d6fa57c8ea3046edd811b19cc Author: Jaehyun Cho Date: Wed Apr 24 14:44:50 2019 +0900 efl_canvas_animation_player: fix to apply animation when player starts Previously, animation was not applied immediately when player starts animation because elapsed time is 0. This caused flickering object if animation begins with alpha 0 because the alpha 0 animation is not applied immediately. Now, animation is applied immediately when player start animation. --- src/lib/evas/canvas/efl_canvas_animation_player.c | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/lib/evas/canvas/efl_canvas_animation_player.c b/src/lib/evas/canvas/efl_canvas_animation_player.c index 677443a5f5..063f932d49 100644 --- a/src/lib/evas/canvas/efl_canvas_animation_player.c +++ b/src/lib/evas/canvas/efl_canvas_animation_player.c @@ -84,8 +84,12 @@ _animator_cb(void *data) duration = efl_animation_duration_get(anim); elapsed_time = pd->time.current - pd->time.prev; vector = elapsed_time / duration; - -if (vector <= DBL_EPSILON) + +/* When animation player starts, _animator_cb() is called immediately so + * both elapsed time and progress are 0.0. + * Since it is the beginning of the animation if progress is 0.0, the + * following codes for animation should be executed. */ +if ((vector <= DBL_EPSILON) && (pd->progress != 0.0)) return ECORE_CALLBACK_RENEW; // There is no update. //TODO: check negative play_speed. --
[EGIT] [core/efl] master 01/01: Revert "efl.ui.widget: disable parts{} block for now"
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=74135dcc3399d7074190a8fcd84137325dd6e256 commit 74135dcc3399d7074190a8fcd84137325dd6e256 Author: Jaehyun Cho Date: Tue Apr 30 11:16:06 2019 +0900 Revert "efl.ui.widget: disable parts{} block for now" This reverts commit 06aabbf8529edd5f09a1ce7c3c59237b2857e98a. The original commit is reverted after release. --- src/lib/elementary/efl_ui_widget.eo | 8 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/lib/elementary/efl_ui_widget.eo b/src/lib/elementary/efl_ui_widget.eo index e765ddea8c..05ef4b3b7f 100644 --- a/src/lib/elementary/efl_ui_widget.eo +++ b/src/lib/elementary/efl_ui_widget.eo @@ -399,10 +399,10 @@ abstract Efl.Ui.Widget extends Efl.Canvas.Group implements Efl.Access.Object, return: bool; [[Returns $true if the widget is registered in the focus manager, $false if not.]] } } -// parts { -// shadow: Efl.Ui.Widget_Part_Shadow; -// background: Efl.Ui.Widget_Part_Bg; -// } + parts { + shadow: Efl.Ui.Widget_Part_Shadow; + background: Efl.Ui.Widget_Part_Bg; + } implements { class.constructor; Efl.Object.constructor; --
[EGIT] [core/efl] master 01/01: efl_ui: fix not to call _on_child_del() after container is deleted
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=f3b9f7f0d8aee9bee9d9b16221a0477e21e23712 commit f3b9f7f0d8aee9bee9d9b16221a0477e21e23712 Author: Jaehyun Cho Date: Fri Apr 26 17:57:24 2019 +0900 efl_ui: fix not to call _on_child_del() after container is deleted If efl_ref() is called to child, then child may not be deleted when container is deleted. This causes _on_child_del() is called after container is deleted and it causes crash if container data is accessed in _on_child_del(). To resolve the above issue, all callbacks of child are deleted not to call _on_child_del() after container is deleted. --- src/lib/elementary/efl_ui_box.c | 13 + src/lib/elementary/efl_ui_box.eo | 1 + src/lib/elementary/efl_ui_relative_layout.c | 13 + src/lib/elementary/efl_ui_relative_layout.eo | 1 + src/lib/elementary/efl_ui_table.c| 13 + src/lib/elementary/efl_ui_table.eo | 1 + 6 files changed, 42 insertions(+) diff --git a/src/lib/elementary/efl_ui_box.c b/src/lib/elementary/efl_ui_box.c index ce3304132d..b58c37ab4f 100644 --- a/src/lib/elementary/efl_ui_box.c +++ b/src/lib/elementary/efl_ui_box.c @@ -180,6 +180,19 @@ _efl_ui_box_efl_object_constructor(Eo *obj, Efl_Ui_Box_Data *pd) return obj; } +EOLIAN static void +_efl_ui_box_efl_object_invalidate(Eo *obj, Efl_Ui_Box_Data *pd) +{ + Eo *child; + + efl_invalidate(efl_super(obj, MY_CLASS)); + + EINA_LIST_FREE(pd->children, child) + { +efl_event_callback_array_del(child, efl_ui_box_callbacks(), obj); + } +} + /* CLEAN API BELOW */ EOLIAN static int diff --git a/src/lib/elementary/efl_ui_box.eo b/src/lib/elementary/efl_ui_box.eo index 5e5950cd63..24f2928118 100644 --- a/src/lib/elementary/efl_ui_box.eo +++ b/src/lib/elementary/efl_ui_box.eo @@ -29,6 +29,7 @@ class @beta Efl.Ui.Box extends Efl.Ui.Widget implements Efl.Pack_Linear, Efl.Pac } implements { Efl.Object.constructor; + Efl.Object.invalidate; Efl.Canvas.Group.group_calculate; Efl.Gfx.Entity.position { set; } Efl.Gfx.Entity.size { set; } diff --git a/src/lib/elementary/efl_ui_relative_layout.c b/src/lib/elementary/efl_ui_relative_layout.c index 491c52f8af..d0d5ff441e 100644 --- a/src/lib/elementary/efl_ui_relative_layout.c +++ b/src/lib/elementary/efl_ui_relative_layout.c @@ -555,6 +555,19 @@ _efl_ui_relative_layout_efl_object_constructor(Eo *obj, Efl_Ui_Relative_Layout_D return obj; } +EOLIAN static void +_efl_ui_relative_layout_efl_object_invalidate(Eo *obj, Efl_Ui_Relative_Layout_Data *pd) +{ + Eo *child; + + efl_invalidate(efl_super(obj, MY_CLASS)); + + EINA_LIST_FREE(pd->children, child) + { +efl_event_callback_array_del(child, efl_ui_relative_layout_callbacks(), pd); + } +} + EOLIAN static void _efl_ui_relative_layout_efl_object_destructor(Eo *obj, Efl_Ui_Relative_Layout_Data *pd) { diff --git a/src/lib/elementary/efl_ui_relative_layout.eo b/src/lib/elementary/efl_ui_relative_layout.eo index dff9c60801..b312070daa 100644 --- a/src/lib/elementary/efl_ui_relative_layout.eo +++ b/src/lib/elementary/efl_ui_relative_layout.eo @@ -69,6 +69,7 @@ class @beta Efl.Ui.Relative_Layout extends Efl.Ui.Widget implements Efl.Pack_Lay } implements { Efl.Object.constructor; + Efl.Object.invalidate; Efl.Object.destructor; Efl.Canvas.Group.group_calculate; Efl.Gfx.Entity.position { set; } diff --git a/src/lib/elementary/efl_ui_table.c b/src/lib/elementary/efl_ui_table.c index 402b812bc8..8a0c0c3cc5 100644 --- a/src/lib/elementary/efl_ui_table.c +++ b/src/lib/elementary/efl_ui_table.c @@ -234,6 +234,19 @@ _efl_ui_table_efl_object_constructor(Eo *obj, Efl_Ui_Table_Data *pd) return obj; } +EOLIAN static void +_efl_ui_table_efl_object_invalidate(Eo *obj, Efl_Ui_Table_Data *pd) +{ + Table_Item *gi; + + efl_invalidate(efl_super(obj, MY_CLASS)); + + EINA_INLIST_FREE(EINA_INLIST_GET(pd->items), gi) + { +efl_event_callback_array_del(gi->object, efl_ui_table_callbacks(), obj); + } +} + EOLIAN static void _efl_ui_table_efl_pack_pack_padding_set(Eo *obj, Efl_Ui_Table_Data *pd, double h, double v, Eina_Bool scalable) { diff --git a/src/lib/elementary/efl_ui_table.eo b/src/lib/elementary/efl_ui_table.eo index dd4b0f7bc7..e2d34bfe0d 100644 --- a/src/lib/elementary/efl_ui_table.eo +++ b/src/lib/elementary/efl_ui_table.eo @@ -19,6 +19,7 @@ class @beta Efl.Ui.Table extends Efl.Ui.Widget implements Efl.Pack_Table, Efl.Pa } implements { Efl.Object.constructor; + Efl.Object.invalidate; Efl.Canvas.Group.group_calculate; Efl.Gfx.Entity.position { set; } Efl.Gfx.Entity.size { set; } --
[EGIT] [core/efl] master 02/02: efl_canvas_animation_player: fix to apply animation when player starts
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=1bdb278f5c56bfbc3421055323f111ee3a5335fd commit 1bdb278f5c56bfbc3421055323f111ee3a5335fd Author: Jaehyun Cho Date: Wed Apr 24 14:44:50 2019 +0900 efl_canvas_animation_player: fix to apply animation when player starts Previously, animation was not applied immediately when player starts animation because elapsed time is 0. This caused flickering object if animation begins with alpha 0 because the alpha 0 animation is not applied immediately. Now, animation is applied immediately when player start animation. --- src/lib/evas/canvas/efl_canvas_animation_player.c | 8 ++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/src/lib/evas/canvas/efl_canvas_animation_player.c b/src/lib/evas/canvas/efl_canvas_animation_player.c index 677443a5f5..063f932d49 100644 --- a/src/lib/evas/canvas/efl_canvas_animation_player.c +++ b/src/lib/evas/canvas/efl_canvas_animation_player.c @@ -84,8 +84,12 @@ _animator_cb(void *data) duration = efl_animation_duration_get(anim); elapsed_time = pd->time.current - pd->time.prev; vector = elapsed_time / duration; - -if (vector <= DBL_EPSILON) + +/* When animation player starts, _animator_cb() is called immediately so + * both elapsed time and progress are 0.0. + * Since it is the beginning of the animation if progress is 0.0, the + * following codes for animation should be executed. */ +if ((vector <= DBL_EPSILON) && (pd->progress != 0.0)) return ECORE_CALLBACK_RENEW; // There is no update. //TODO: check negative play_speed. --
[EGIT] [core/efl] master 01/02: efl_ui_stack: handle memory allocation fail
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=cf4854effbc94c53c25365ec4a3d794dff97c16b commit cf4854effbc94c53c25365ec4a3d794dff97c16b Author: Jaehyun Cho Date: Wed Apr 24 14:44:19 2019 +0900 efl_ui_stack: handle memory allocation fail check if memory allocation succeeds and handle memory allocation fail. --- src/lib/elementary/efl_ui_stack.c | 18 ++ 1 file changed, 18 insertions(+) diff --git a/src/lib/elementary/efl_ui_stack.c b/src/lib/elementary/efl_ui_stack.c index e7edcdaf57..c330fada92 100644 --- a/src/lib/elementary/efl_ui_stack.c +++ b/src/lib/elementary/efl_ui_stack.c @@ -162,6 +162,15 @@ _show_content_with_anim(Efl_Ui_Stack *obj, Efl_Ui_Stack_Data *pd, Content_Data * efl_animation_player_target_set(pd->show, cd->content); Transit_Data *td = calloc(1, sizeof(Transit_Data)); + if (!td) + { +ERR("Memory allocation error!"); + +//show content without animation +_show_content_without_anim(obj, cd->content); +return; + } + td->cd = cd; pd->show_td = td; @@ -185,6 +194,15 @@ _hide_content_with_anim(Efl_Ui_Stack *obj EINA_UNUSED, Efl_Ui_Stack_Data *pd, Co efl_animation_player_target_set(pd->hide, cd->content); Transit_Data *td = calloc(1, sizeof(Transit_Data)); + if (!td) + { +ERR("Memory allocation error!"); + +//hide content without animation +_hide_content_without_anim(obj, cd->content); +return; + } + td->cd = cd; pd->hide_td = td; --
[EGIT] [core/efl] efl-1.22 01/57: elementary: fix not to call duplicate theme set
zmike pushed a commit to branch efl-1.22. http://git.enlightenment.org/core/efl.git/commit/?id=6acb082aa9e63c658660445154061d794bd7d1f5 commit 6acb082aa9e63c658660445154061d794bd7d1f5 Author: Jaehyun Cho Date: Fri Apr 5 04:05:37 2019 + elementary: fix not to call duplicate theme set Theme is set during finalize in Efl.Ui.Layout_Base. Therefore, it is not necessary to call theme set function if the widget inherits Efl.Ui.Layout_Base and its klass is properly set. Reviewed-by: Cedric BAIL Differential Revision: https://phab.enlightenment.org/D8559 --- src/lib/elementary/efl_ui_list.c | 6 ++ src/lib/elementary/efl_ui_scroller.c | 4 ++-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/lib/elementary/efl_ui_list.c b/src/lib/elementary/efl_ui_list.c index 2b2b077f24..1cb6f1061e 100644 --- a/src/lib/elementary/efl_ui_list.c +++ b/src/lib/elementary/efl_ui_list.c @@ -413,6 +413,8 @@ _efl_ui_list_size_hint_changed_cb(void *data, const Efl_Event *ev EINA_UNUSED) EOLIAN static Eo * _efl_ui_list_efl_object_constructor(Eo *obj, Efl_Ui_List_Data *pd EINA_UNUSED) { + if (!elm_widget_theme_klass_get(obj)) + elm_widget_theme_klass_set(obj, "list"); obj = efl_constructor(efl_super(obj, MY_CLASS)); return obj; @@ -426,10 +428,6 @@ _efl_ui_list_efl_object_finalize(Eo *obj, ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL); - Eina_Error theme_apply_ret = efl_ui_layout_theme_set(obj, "list", "base", efl_ui_widget_style_get(obj)); - if (theme_apply_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) - CRI("list(%p) failed to set theme [efl/list:%s]!", obj, efl_ui_widget_style_get(obj) ?: "NULL"); - pd->smanager = efl_add(EFL_UI_SCROLL_MANAGER_CLASS, obj); efl_ui_mirrored_set(pd->smanager, efl_ui_mirrored_get(obj)); efl_composite_attach(obj, pd->smanager); diff --git a/src/lib/elementary/efl_ui_scroller.c b/src/lib/elementary/efl_ui_scroller.c index 5891e422f9..0fef382346 100644 --- a/src/lib/elementary/efl_ui_scroller.c +++ b/src/lib/elementary/efl_ui_scroller.c @@ -550,6 +550,8 @@ EOLIAN static Eo * _efl_ui_scroller_efl_object_constructor(Eo *obj, Efl_Ui_Scroller_Data *sd EINA_UNUSED) { + if (!elm_widget_theme_klass_get(obj)) + elm_widget_theme_klass_set(obj, "scroller"); obj = efl_constructor(efl_super(obj, MY_CLASS)); return obj; @@ -563,8 +565,6 @@ _efl_ui_scroller_efl_object_finalize(Eo *obj, ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL); - efl_ui_layout_theme_set(obj, "scroller", "base", efl_ui_widget_style_get(obj)); - sd->smanager = efl_add(EFL_UI_SCROLL_MANAGER_CLASS, obj); efl_ui_mirrored_set(sd->smanager, efl_ui_mirrored_get(obj)); efl_composite_attach(obj, sd->smanager); --
[EGIT] [core/efl] efl-1.22 07/57: configure: fix build error of efl_custom_exports_mono.c
zmike pushed a commit to branch efl-1.22. http://git.enlightenment.org/core/efl.git/commit/?id=fc2f7170da3ac565a27094b1d1c9654410e24522 commit fc2f7170da3ac565a27094b1d1c9654410e24522 Author: Jaehyun Cho Date: Mon Apr 8 16:28:18 2019 +0200 configure: fix build error of efl_custom_exports_mono.c Reviewers: woohyun, lauromoura, akanad Reviewed By: lauromoura Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8577 --- configure.ac | 1 + 1 file changed, 1 insertion(+) diff --git a/configure.ac b/configure.ac index 5a7dac3ac6..77ea290f42 100644 --- a/configure.ac +++ b/configure.ac @@ -1435,6 +1435,7 @@ EFL_LIB_START_OPTIONAL([Efl_Custom_Exports_Mono], [test "x${want_csharp}" = "xye EFL_PLATFORM_DEPEND([EFL_CUSTOM_EXPORTS_MONO], [evil]) EFL_INTERNAL_DEPEND_PKG([EFL_CUSTOM_EXPORTS_MONO], [Eina]) EFL_INTERNAL_DEPEND_PKG([EFL_CUSTOM_EXPORTS_MONO], [Eo]) +EFL_INTERNAL_DEPEND_PKG([EFL_CUSTOM_EXPORTS_MONO], [Ecore]) EFL_INTERNAL_DEPEND_PKG([EFL_CUSTOM_EXPORTS_MONO], [Efl]) EFL_INTERNAL_DEPEND_PKG([EFL_CUSTOM_EXPORTS_MONO], [Eldbus]) --
[EGIT] [core/efl] efl-1.22 30/57: efl_ui_list: fix to delete sub objects in efl_object_invalidate
zmike pushed a commit to branch efl-1.22. http://git.enlightenment.org/core/efl.git/commit/?id=1e6ada52781c8ccf8db30ac84027ae8f7424d3f2 commit 1e6ada52781c8ccf8db30ac84027ae8f7424d3f2 Author: Jaehyun Cho Date: Thu Apr 11 20:14:43 2019 +0900 efl_ui_list: fix to delete sub objects in efl_object_invalidate widget's sub objects and callbacks should be deleted in efl_object_invalidate instead of efl_object_destructor. @fix --- src/lib/elementary/efl_ui_list.c | 6 -- src/lib/elementary/efl_ui_list.eo | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/lib/elementary/efl_ui_list.c b/src/lib/elementary/efl_ui_list.c index 1cb6f1061e..978aae3271 100644 --- a/src/lib/elementary/efl_ui_list.c +++ b/src/lib/elementary/efl_ui_list.c @@ -467,7 +467,7 @@ _efl_ui_list_efl_object_finalize(Eo *obj, } EOLIAN static void -_efl_ui_list_efl_object_destructor(Eo *obj, Efl_Ui_List_Data *pd) +_efl_ui_list_efl_object_invalidate(Eo *obj, Efl_Ui_List_Data *pd) { _scroll_edje_object_detach(obj); @@ -488,12 +488,14 @@ _efl_ui_list_efl_object_destructor(Eo *obj, Efl_Ui_List_Data *pd) efl_del(pd->box); pd->box = NULL; + efl_del(pd->pan); pd->pan = NULL; + efl_del(pd->smanager); pd->smanager = NULL; - efl_destructor(efl_super(obj, MY_CLASS)); + efl_invalidate(efl_super(obj, MY_CLASS)); } EOLIAN static void diff --git a/src/lib/elementary/efl_ui_list.eo b/src/lib/elementary/efl_ui_list.eo index 988c78c5cc..8a77e37261 100644 --- a/src/lib/elementary/efl_ui_list.eo +++ b/src/lib/elementary/efl_ui_list.eo @@ -42,7 +42,7 @@ class @beta Efl.Ui.List extends Efl.Ui.Layout_Base implements //Efl.Object Efl.Object.constructor; Efl.Object.finalize; - Efl.Object.destructor; + Efl.Object.invalidate; //Efl.Canvas Efl.Canvas.Group.group_calculate; --
[EGIT] [core/efl] efl-1.22 49/57: efl_ui_pager: fix to delete component objects when pager is deleted
zmike pushed a commit to branch efl-1.22. http://git.enlightenment.org/core/efl.git/commit/?id=644894f714d9b12b3388fedb1730905c6a633138 commit 644894f714d9b12b3388fedb1730905c6a633138 Author: Jaehyun Cho Date: Wed Apr 17 15:00:58 2019 +0900 efl_ui_pager: fix to delete component objects when pager is deleted Pager creates Efl.Canvas.Rectangle objects when pager is constructed. Since the parent of these component objects is evas, these component objects are not deleted automatically when pager is deleted. These component objects cause event block after pager is deleted. (e.g. click event is blocked) To resolve this issue, these component objects are deleted manually when pager is deleted. --- src/lib/elementary/efl_ui_pager.c | 13 + src/lib/elementary/efl_ui_pager.eo | 1 + 2 files changed, 14 insertions(+) diff --git a/src/lib/elementary/efl_ui_pager.c b/src/lib/elementary/efl_ui_pager.c index bf81d1ac91..3e87b62226 100644 --- a/src/lib/elementary/efl_ui_pager.c +++ b/src/lib/elementary/efl_ui_pager.c @@ -379,6 +379,19 @@ _efl_ui_pager_efl_object_constructor(Eo *obj, return obj; } +EOLIAN static void +_efl_ui_pager_efl_object_invalidate(Eo *obj, +Efl_Ui_Pager_Data *pd) +{ + efl_invalidate(efl_super(obj, MY_CLASS)); + + /* Since the parent of foreclip and backclip is evas, foreclip and backclip +* are not deleted automatically when pager is deleted. +* Therefore, foreclip and backclip are deleted manually here. */ + efl_del(pd->foreclip); + efl_del(pd->backclip); +} + EOLIAN static int _efl_ui_pager_efl_container_content_count(Eo *obj EINA_UNUSED, Efl_Ui_Pager_Data *pd) diff --git a/src/lib/elementary/efl_ui_pager.eo b/src/lib/elementary/efl_ui_pager.eo index 5a3a974adf..646be5accd 100644 --- a/src/lib/elementary/efl_ui_pager.eo +++ b/src/lib/elementary/efl_ui_pager.eo @@ -90,6 +90,7 @@ class @beta Efl.Ui.Pager extends Efl.Ui.Layout_Base implements Efl.Pack_Linear } implements { Efl.Object.constructor; + Efl.Object.invalidate; Efl.Container.content_count; Efl.Pack.pack_clear; //TODO Efl.Pack.unpack_all; //TODO --
[EGIT] [core/efl] master 04/06: Revert "Revert "test/efl_ui_pager: fix demo""
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=326b1e440a62ec9466c7c884944891caedaf5245 commit 326b1e440a62ec9466c7c884944891caedaf5245 Author: Jaehyun Cho Date: Wed Apr 17 10:41:50 2019 +0900 Revert "Revert "test/efl_ui_pager: fix demo"" This reverts commit f652bf932837846c5911c26992196213780394df. To restore d3bb1a7342b2725c585d90557926e0c433058e50 which implements features during feature freeze period, the revert commit is reverted. --- src/bin/elementary/test_ui_pager.c | 30 ++ 1 file changed, 26 insertions(+), 4 deletions(-) diff --git a/src/bin/elementary/test_ui_pager.c b/src/bin/elementary/test_ui_pager.c index 78fb1b598e..32bc1d775a 100644 --- a/src/bin/elementary/test_ui_pager.c +++ b/src/bin/elementary/test_ui_pager.c @@ -36,7 +36,8 @@ typedef enum _Pack_Type { PACK_BEFORE, PACK_AFTER, PACK_AT, - UNPACK_AT + UNPACK_AT, + CLEAR } Pack_Type; typedef struct _Params { @@ -218,7 +219,7 @@ static void pack_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) Eo *page = NULL, *curr_page; int index, cnt; - if (param->type != UNPACK_AT) { + if ((param->type != UNPACK_AT) && (param->type != CLEAR)) { index = efl_content_count(pager); switch (index % 3) { @@ -260,10 +261,12 @@ static void pack_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) break; case UNPACK_AT: index = efl_ui_range_value_get(param->unpack_sp); - page = efl_pack_content_get(pager, index); - efl_pack_unpack(pager, page); + page = efl_pack_unpack_at(pager, index); efl_del(page); break; + case CLEAR: + efl_pack_clear(pager); + break; } cnt = efl_content_count(pager); @@ -587,6 +590,25 @@ static void pack_cb(void *data, efl_pack_end(box, in_box2); efl_pack_end(in_box2, btn); efl_pack_end(in_box2, sp2); + + // Clear + pack_param = calloc(1, sizeof(Pack_Params)); + if (!pack_param) return; + + pack_param->pager = pager; + pack_param->pack_sp = sp1; + pack_param->unpack_sp = sp2; + pack_param->unpack_btn = btn; + pack_param->type = CLEAR; + + efl_add(EFL_UI_BUTTON_CLASS, box, + efl_text_set(efl_added, "Clear"), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, + pack_btn_cb, pack_param), + efl_event_callback_add(efl_added, EFL_EVENT_DEL, + pack_btn_del_cb, pack_param), + efl_pack_end(box, efl_added)); + } static void current_page_cb(void *data, --
[EGIT] [core/efl] master 01/06: Revert "Revert "efl_ui_pager: implement unpack_at function""
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=cf029754eb0463aeda6473bdc2959aabec542ca5 commit cf029754eb0463aeda6473bdc2959aabec542ca5 Author: Jaehyun Cho Date: Wed Apr 17 10:41:32 2019 +0900 Revert "Revert "efl_ui_pager: implement unpack_at function"" This reverts commit a10e1bc597f00865514f30d84268963dcbf3f599. To restore 913a5bff66dd7a58753ccae1474657ec33350e43 which implements features during feature freeze period, the revert commit is reverted. --- src/lib/elementary/efl_ui_pager.c | 17 - 1 file changed, 12 insertions(+), 5 deletions(-) diff --git a/src/lib/elementary/efl_ui_pager.c b/src/lib/elementary/efl_ui_pager.c index bf81d1ac91..520398941c 100644 --- a/src/lib/elementary/efl_ui_pager.c +++ b/src/lib/elementary/efl_ui_pager.c @@ -853,12 +853,19 @@ _efl_ui_pager_efl_pack_unpack(Eo *obj, } EOLIAN static Efl_Gfx_Entity * -_efl_ui_pager_efl_pack_linear_pack_unpack_at(Eo *obj EINA_UNUSED, - Efl_Ui_Pager_Data *pd EINA_UNUSED, - int index EINA_UNUSED) +_efl_ui_pager_efl_pack_linear_pack_unpack_at(Eo *obj, + Efl_Ui_Pager_Data *pd, + int index) { - ERR("Soon to be implemented"); - return NULL; + if (!EINA_DBL_EQ(pd->curr.pos, 0.0)) return NULL; + + if ((index >= pd->cnt) || (index < 0)) return NULL; + + Efl_Gfx_Entity *subobj = eina_list_nth(pd->content_list, index); + + _unpack(obj, pd, subobj, index); + + return subobj; } --
[EGIT] [core/efl] master 05/06: Revert "Revert "elm - fix harmless warning for clean build""
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=74d1a0ec0874f905a47b0d40301c4d6d5c7baeac commit 74d1a0ec0874f905a47b0d40301c4d6d5c7baeac Author: Jaehyun Cho Date: Wed Apr 17 10:41:55 2019 +0900 Revert "Revert "elm - fix harmless warning for clean build"" This reverts commit d2eebb6f5faebc76a1a13494fd0721e8d63af410. To restore e3d2a0cf1235beceb3b403e42d2dafed4b4e90e5 which implements features during feature freeze period, the revert commit is reverted. --- src/lib/elementary/efl_page_transition_scroll.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elementary/efl_page_transition_scroll.c b/src/lib/elementary/efl_page_transition_scroll.c index ac3c6dab1d..3908710cc6 100644 --- a/src/lib/elementary/efl_page_transition_scroll.c +++ b/src/lib/elementary/efl_page_transition_scroll.c @@ -427,7 +427,7 @@ _efl_page_transition_scroll_unpack_all(Eo *obj EINA_UNUSED, pi->content = NULL; pi->visible = EINA_FALSE; } - return EINA_TRUE; + return; } EOLIAN static void --
[EGIT] [core/efl] master 02/06: Revert "Revert "efl_ui_pager: implement unpack_all/clear function""
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b5c078bebbdc29126fcf6ea5f279912f2077829c commit b5c078bebbdc29126fcf6ea5f279912f2077829c Author: Jaehyun Cho Date: Wed Apr 17 10:41:38 2019 +0900 Revert "Revert "efl_ui_pager: implement unpack_all/clear function"" This reverts commit b28f1e034b7ecbe7966b0d2b9687d8e22245837c. To restore 74c48f029632d2260816b4cb3de6dbb40a29f040 which implements features during feature freeze period, the revert commit is reverted. --- src/lib/elementary/efl_page_indicator.c | 13 ++- src/lib/elementary/efl_page_indicator_icon.c| 20 +- src/lib/elementary/efl_page_transition.c| 11 ++ src/lib/elementary/efl_page_transition_scroll.c | 20 ++ src/lib/elementary/efl_ui_pager.c | 51 ++--- src/lib/elementary/elm_priv.h | 2 + 6 files changed, 109 insertions(+), 8 deletions(-) diff --git a/src/lib/elementary/efl_page_indicator.c b/src/lib/elementary/efl_page_indicator.c index 57cd2bf9f9..6b0be267b2 100644 --- a/src/lib/elementary/efl_page_indicator.c +++ b/src/lib/elementary/efl_page_indicator.c @@ -42,6 +42,14 @@ _efl_page_indicator_unpack(Eo *obj EINA_UNUSED, pd->curr_idx--; } +EOLIAN static void +_efl_page_indicator_unpack_all(Eo *obj EINA_UNUSED, + Efl_Page_Indicator_Data *pd) +{ + pd->cnt = 0; + pd->curr_idx = -1; +} + EOLIAN static void _efl_page_indicator_bind(Eo *obj EINA_UNUSED, Efl_Page_Indicator_Data *pd, @@ -72,6 +80,7 @@ EOAPI EFL_VOID_FUNC_BODYV(efl_page_indicator_pack, EFL_FUNC_CALL(index), int index) EOAPI EFL_VOID_FUNC_BODYV(efl_page_indicator_unpack, EFL_FUNC_CALL(index), int index) +EOAPI EFL_VOID_FUNC_BODY(efl_page_indicator_unpack_all) #define EFL_PAGE_INDICATOR_EXTRA_OPS \ EFL_OBJECT_OP_FUNC(efl_page_indicator_update, \ @@ -79,6 +88,8 @@ EOAPI EFL_VOID_FUNC_BODYV(efl_page_indicator_unpack, EFL_OBJECT_OP_FUNC(efl_page_indicator_pack, \ _efl_page_indicator_pack), \ EFL_OBJECT_OP_FUNC(efl_page_indicator_unpack, \ - _efl_page_indicator_unpack) + _efl_page_indicator_unpack), \ + EFL_OBJECT_OP_FUNC(efl_page_indicator_unpack_all, \ + _efl_page_indicator_unpack_all) #include "efl_page_indicator.eo.c" diff --git a/src/lib/elementary/efl_page_indicator_icon.c b/src/lib/elementary/efl_page_indicator_icon.c index 3c9c54e75e..55326cfdd6 100644 --- a/src/lib/elementary/efl_page_indicator_icon.c +++ b/src/lib/elementary/efl_page_indicator_icon.c @@ -109,6 +109,22 @@ _efl_page_indicator_icon_unpack(Eo *obj, } } +EOLIAN static void +_efl_page_indicator_icon_unpack_all(Eo *obj, +Efl_Page_Indicator_Icon_Data *pd) +{ + Eo *item; + + EINA_LIST_FREE(pd->items, item) + { +efl_del(item); + } + + pd->curr = NULL; + + efl_page_indicator_unpack_all(efl_super(obj, MY_CLASS)); +} + EOLIAN static void _efl_page_indicator_icon_efl_page_indicator_bind(Eo *obj, Efl_Page_Indicator_Icon_Data *pd, @@ -168,6 +184,8 @@ _efl_page_indicator_icon_efl_page_indicator_bind(Eo *obj, EFL_OBJECT_OP_FUNC(efl_page_indicator_pack, \ _efl_page_indicator_icon_pack), \ EFL_OBJECT_OP_FUNC(efl_page_indicator_unpack, \ - _efl_page_indicator_icon_unpack) + _efl_page_indicator_icon_unpack), \ + EFL_OBJECT_OP_FUNC(efl_page_indicator_unpack_all, \ + _efl_page_indicator_icon_unpack_all) #include "efl_page_indicator_icon.eo.c" diff --git a/src/lib/elementary/efl_page_transition.c b/src/lib/elementary/efl_page_transition.c index 3740a6996d..f6d73a2c10 100644 --- a/src/lib/elementary/efl_page_transition.c +++ b/src/lib/elementary/efl_page_transition.c @@ -71,6 +71,14 @@ _efl_page_transition_pack(Eo *obj EINA_UNUSED, } +EOLIAN static void +_efl_page_transition_unpack_all(Eo *obj EINA_UNUSED, +Efl_Page_Transition_Data *pd EINA_UNUSED, +int index EINA_UNUSED) +{ + +} + EOLIAN static void _efl_page_transition_curr_page_change(Eo *obj EINA_UNUSED, Efl_Page_Transition_Data *pd EINA_UNUSED, @@ -94,6 +102,7 @@ EOAPI EFL_VOID_FUNC_BODYV(efl_page_transition_update, EFL_FUNC_CALL(move), double move) EOAPI EFL_VOID_FUNC_BODYV(efl_page_transition_pack, EFL_FUNC_CALL(index), int index) +EOAPI EFL_VOID_FUNC_BODY(efl_page_transition_unpack_all) EOAPI EFL_VOID_FUNC_BODYV(efl_page_transition_curr_page_change, EFL_FUNC_CALL(diff), int diff) EOAPI EFL_VOID_FUNC_BODYV(efl_p
[EGIT] [core/efl] master 03/06: Revert "Revert "test/efl_ui_pager_scroll: fix demo""
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=561764b97213698297646dc61753381388219aaa commit 561764b97213698297646dc61753381388219aaa Author: Jaehyun Cho Date: Wed Apr 17 10:41:43 2019 +0900 Revert "Revert "test/efl_ui_pager_scroll: fix demo"" This reverts commit 5742caa6016bf0ea852059546ded493c2d52b1a7. To restore 30bd541bf264d369e2a96d27fa3ff5139c360e26 which implements features during feature freeze period, the revert commit is reverted. --- src/bin/elementary/test_ui_pager_scroll.c | 72 --- 1 file changed, 57 insertions(+), 15 deletions(-) diff --git a/src/bin/elementary/test_ui_pager_scroll.c b/src/bin/elementary/test_ui_pager_scroll.c index 30a4306f63..8df58c6570 100644 --- a/src/bin/elementary/test_ui_pager_scroll.c +++ b/src/bin/elementary/test_ui_pager_scroll.c @@ -36,7 +36,8 @@ typedef enum _Pack_Type { PACK_BEFORE, PACK_AFTER, PACK_AT, - UNPACK_AT + UNPACK_AT, + CLEAR } Pack_Type; typedef struct _Params { @@ -240,7 +241,7 @@ static void pack_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) Eo *page = NULL, *curr_page; int index, cnt; - if (param->type != UNPACK_AT) { + if ((param->type != UNPACK_AT) && (param->type != CLEAR)) { index = efl_content_count(pager); switch (index % 3) { @@ -282,10 +283,12 @@ static void pack_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) break; case UNPACK_AT: index = efl_ui_range_value_get(param->unpack_sp); - page = efl_pack_content_get(pager, index); - efl_pack_unpack(pager, page); + page = efl_pack_unpack_at(pager, index); efl_del(page); break; + case CLEAR: + efl_pack_clear(pager); + break; } cnt = efl_content_count(pager); @@ -353,13 +356,11 @@ static void next_block_check_cb(void *data, const Efl_Event *ev) efl_ui_pager_scroll_block_set(pager, prev, next); } -static void loop_check_cb(void *data, const Efl_Event *ev) +static void loop_radio_cb(void *data, const Efl_Event *ev) { Eo *pager = data; int state = efl_ui_nstate_value_get(ev->object); - //FIXME use other widget (i.e. radio) than check - // since loop might not be enabled according to the number of items efl_ui_pager_loop_mode_set(pager, state); } @@ -701,6 +702,24 @@ static void pack_cb(void *data, efl_pack_end(box, in_box2); efl_pack_end(in_box2, btn); efl_pack_end(in_box2, sp2); + + // Clear + pack_param = calloc(1, sizeof(Pack_Params)); + if (!pack_param) return; + + pack_param->pager = pager; + pack_param->pack_sp = sp1; + pack_param->unpack_sp = sp2; + pack_param->unpack_btn = btn; + pack_param->type = CLEAR; + + efl_add(EFL_UI_BUTTON_CLASS, box, + efl_text_set(efl_added, "Clear"), + efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, + pack_btn_cb, pack_param), + efl_event_callback_add(efl_added, EFL_EVENT_DEL, + pack_btn_del_cb, pack_param), + efl_pack_end(box, efl_added)); } static void current_page_cb(void *data, @@ -798,7 +817,8 @@ static void loop_cb(void *data EINA_UNUSED, Params *params = (Params *)data; Evas_Object *navi = params->navi; Eo *pager = params->pager; - Eo *btn, *box; + Eo *btn, *box, *rd; + Efl_Ui_Pager_Loop loop; btn = efl_add(EFL_UI_BUTTON_CLASS, navi, efl_text_set(efl_added, "Back"), @@ -810,13 +830,35 @@ static void loop_cb(void *data EINA_UNUSED, elm_naviframe_item_push(navi, "Loop", btn, NULL, efl_added, NULL)); - efl_add(EFL_UI_CHECK_CLASS, box, - efl_ui_widget_style_set(efl_added, "toggle"), - efl_text_set(efl_added, "Loop"), - efl_ui_nstate_value_set(efl_added, efl_ui_pager_loop_mode_get(pager)), - efl_event_callback_add(efl_added, EFL_UI_CHECK_EVENT_CHANGED, - loop_check_cb, pager), - efl_pack_end(box, efl_added)); + rd = efl_add(EFL_UI_RADIO_CLASS, box, +efl_ui_radio_state_value_set(efl_added, EFL_UI_PAGER_LOOP_DISABLED), +efl_text_set(efl_added, "Disabled"), +efl_gfx_hint_weight_set(efl_added, 1, 0), +efl_event_callback_add(efl_added, EFL_UI_RADIO_EVENT_CHANGED, + loop_radio_cb, pager), +efl_pack(box, efl_added)); + + rd = efl_add(EFL_UI_RADIO_CLASS, box, +efl_ui_radio_state_value_set(efl_added, EFL_UI_PAGER_LOOP_ENABLED), +efl_ui_radio_group_add(efl_added, rd), +efl_text_set(efl_added, "Enabled"), +
[EGIT] [core/efl] master 06/06: efl_ui_pager: fix to delete component objects when pager is deleted
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=382520fda450f22f0256b3a57a9b90c4d49e7cca commit 382520fda450f22f0256b3a57a9b90c4d49e7cca Author: Jaehyun Cho Date: Wed Apr 17 15:00:58 2019 +0900 efl_ui_pager: fix to delete component objects when pager is deleted Pager creates Efl.Canvas.Rectangle objects when pager is constructed. Since the parent of these component objects is evas, these component objects are not deleted automatically when pager is deleted. These component objects cause event block after pager is deleted. (e.g. click event is blocked) To resolve this issue, these component objects are deleted manually when pager is deleted. --- src/lib/elementary/efl_ui_pager.c | 13 + src/lib/elementary/efl_ui_pager.eo | 1 + 2 files changed, 14 insertions(+) diff --git a/src/lib/elementary/efl_ui_pager.c b/src/lib/elementary/efl_ui_pager.c index 0ce1488d8c..a37d0fd8f6 100644 --- a/src/lib/elementary/efl_ui_pager.c +++ b/src/lib/elementary/efl_ui_pager.c @@ -379,6 +379,19 @@ _efl_ui_pager_efl_object_constructor(Eo *obj, return obj; } +EOLIAN static void +_efl_ui_pager_efl_object_invalidate(Eo *obj, +Efl_Ui_Pager_Data *pd) +{ + efl_invalidate(efl_super(obj, MY_CLASS)); + + /* Since the parent of foreclip and backclip is evas, foreclip and backclip +* are not deleted automatically when pager is deleted. +* Therefore, foreclip and backclip are deleted manually here. */ + efl_del(pd->foreclip); + efl_del(pd->backclip); +} + EOLIAN static int _efl_ui_pager_efl_container_content_count(Eo *obj EINA_UNUSED, Efl_Ui_Pager_Data *pd) diff --git a/src/lib/elementary/efl_ui_pager.eo b/src/lib/elementary/efl_ui_pager.eo index 5a3a974adf..646be5accd 100644 --- a/src/lib/elementary/efl_ui_pager.eo +++ b/src/lib/elementary/efl_ui_pager.eo @@ -90,6 +90,7 @@ class @beta Efl.Ui.Pager extends Efl.Ui.Layout_Base implements Efl.Pack_Linear } implements { Efl.Object.constructor; + Efl.Object.invalidate; Efl.Container.content_count; Efl.Pack.pack_clear; //TODO Efl.Pack.unpack_all; //TODO --
[EGIT] [core/efl] master 01/01: efl_ui_list: fix to delete sub objects in efl_object_invalidate
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b17e7fa95ba513139ab98572251edcb36d087345 commit b17e7fa95ba513139ab98572251edcb36d087345 Author: Jaehyun Cho Date: Thu Apr 11 20:14:43 2019 +0900 efl_ui_list: fix to delete sub objects in efl_object_invalidate widget's sub objects and callbacks should be deleted in efl_object_invalidate instead of efl_object_destructor. @fix --- src/lib/elementary/efl_ui_list.c | 6 -- src/lib/elementary/efl_ui_list.eo | 2 +- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/src/lib/elementary/efl_ui_list.c b/src/lib/elementary/efl_ui_list.c index 1cb6f1061e..978aae3271 100644 --- a/src/lib/elementary/efl_ui_list.c +++ b/src/lib/elementary/efl_ui_list.c @@ -467,7 +467,7 @@ _efl_ui_list_efl_object_finalize(Eo *obj, } EOLIAN static void -_efl_ui_list_efl_object_destructor(Eo *obj, Efl_Ui_List_Data *pd) +_efl_ui_list_efl_object_invalidate(Eo *obj, Efl_Ui_List_Data *pd) { _scroll_edje_object_detach(obj); @@ -488,12 +488,14 @@ _efl_ui_list_efl_object_destructor(Eo *obj, Efl_Ui_List_Data *pd) efl_del(pd->box); pd->box = NULL; + efl_del(pd->pan); pd->pan = NULL; + efl_del(pd->smanager); pd->smanager = NULL; - efl_destructor(efl_super(obj, MY_CLASS)); + efl_invalidate(efl_super(obj, MY_CLASS)); } EOLIAN static void diff --git a/src/lib/elementary/efl_ui_list.eo b/src/lib/elementary/efl_ui_list.eo index 988c78c5cc..8a77e37261 100644 --- a/src/lib/elementary/efl_ui_list.eo +++ b/src/lib/elementary/efl_ui_list.eo @@ -42,7 +42,7 @@ class @beta Efl.Ui.List extends Efl.Ui.Layout_Base implements //Efl.Object Efl.Object.constructor; Efl.Object.finalize; - Efl.Object.destructor; + Efl.Object.invalidate; //Efl.Canvas Efl.Canvas.Group.group_calculate; --
[EGIT] [core/efl] master 01/01: configure: fix build error of efl_custom_exports_mono.c
xartigas pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=660eba496f3f626a9df15acf9b51e5c7d06f65ab commit 660eba496f3f626a9df15acf9b51e5c7d06f65ab Author: Jaehyun Cho Date: Mon Apr 8 16:28:18 2019 +0200 configure: fix build error of efl_custom_exports_mono.c Reviewers: woohyun, lauromoura, akanad Reviewed By: lauromoura Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8577 --- configure.ac | 1 + 1 file changed, 1 insertion(+) diff --git a/configure.ac b/configure.ac index 488ba11937..69b8fdf48a 100644 --- a/configure.ac +++ b/configure.ac @@ -1435,6 +1435,7 @@ EFL_LIB_START_OPTIONAL([Efl_Custom_Exports_Mono], [test "x${want_csharp}" = "xye EFL_PLATFORM_DEPEND([EFL_CUSTOM_EXPORTS_MONO], [evil]) EFL_INTERNAL_DEPEND_PKG([EFL_CUSTOM_EXPORTS_MONO], [Eina]) EFL_INTERNAL_DEPEND_PKG([EFL_CUSTOM_EXPORTS_MONO], [Eo]) +EFL_INTERNAL_DEPEND_PKG([EFL_CUSTOM_EXPORTS_MONO], [Ecore]) EFL_INTERNAL_DEPEND_PKG([EFL_CUSTOM_EXPORTS_MONO], [Efl]) EFL_INTERNAL_DEPEND_PKG([EFL_CUSTOM_EXPORTS_MONO], [Eldbus]) --
[EGIT] [core/efl] master 01/01: elementary: fix not to call duplicate theme set
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a6cc94321176700b5bfb89b85d71c33461180f22 commit a6cc94321176700b5bfb89b85d71c33461180f22 Author: Jaehyun Cho Date: Fri Apr 5 04:05:37 2019 + elementary: fix not to call duplicate theme set Theme is set during finalize in Efl.Ui.Layout_Base. Therefore, it is not necessary to call theme set function if the widget inherits Efl.Ui.Layout_Base and its klass is properly set. Reviewed-by: Cedric BAIL Differential Revision: https://phab.enlightenment.org/D8559 --- src/lib/elementary/efl_ui_list.c | 6 ++ src/lib/elementary/efl_ui_scroller.c | 4 ++-- 2 files changed, 4 insertions(+), 6 deletions(-) diff --git a/src/lib/elementary/efl_ui_list.c b/src/lib/elementary/efl_ui_list.c index 2b2b077f24..1cb6f1061e 100644 --- a/src/lib/elementary/efl_ui_list.c +++ b/src/lib/elementary/efl_ui_list.c @@ -413,6 +413,8 @@ _efl_ui_list_size_hint_changed_cb(void *data, const Efl_Event *ev EINA_UNUSED) EOLIAN static Eo * _efl_ui_list_efl_object_constructor(Eo *obj, Efl_Ui_List_Data *pd EINA_UNUSED) { + if (!elm_widget_theme_klass_get(obj)) + elm_widget_theme_klass_set(obj, "list"); obj = efl_constructor(efl_super(obj, MY_CLASS)); return obj; @@ -426,10 +428,6 @@ _efl_ui_list_efl_object_finalize(Eo *obj, ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL); - Eina_Error theme_apply_ret = efl_ui_layout_theme_set(obj, "list", "base", efl_ui_widget_style_get(obj)); - if (theme_apply_ret == EFL_UI_THEME_APPLY_ERROR_GENERIC) - CRI("list(%p) failed to set theme [efl/list:%s]!", obj, efl_ui_widget_style_get(obj) ?: "NULL"); - pd->smanager = efl_add(EFL_UI_SCROLL_MANAGER_CLASS, obj); efl_ui_mirrored_set(pd->smanager, efl_ui_mirrored_get(obj)); efl_composite_attach(obj, pd->smanager); diff --git a/src/lib/elementary/efl_ui_scroller.c b/src/lib/elementary/efl_ui_scroller.c index 5891e422f9..0fef382346 100644 --- a/src/lib/elementary/efl_ui_scroller.c +++ b/src/lib/elementary/efl_ui_scroller.c @@ -550,6 +550,8 @@ EOLIAN static Eo * _efl_ui_scroller_efl_object_constructor(Eo *obj, Efl_Ui_Scroller_Data *sd EINA_UNUSED) { + if (!elm_widget_theme_klass_get(obj)) + elm_widget_theme_klass_set(obj, "scroller"); obj = efl_constructor(efl_super(obj, MY_CLASS)); return obj; @@ -563,8 +565,6 @@ _efl_ui_scroller_efl_object_finalize(Eo *obj, ELM_WIDGET_DATA_GET_OR_RETURN(obj, wd, NULL); - efl_ui_layout_theme_set(obj, "scroller", "base", efl_ui_widget_style_get(obj)); - sd->smanager = efl_add(EFL_UI_SCROLL_MANAGER_CLASS, obj); efl_ui_mirrored_set(sd->smanager, efl_ui_mirrored_get(obj)); efl_composite_attach(obj, sd->smanager); --
[EGIT] [core/efl] master 01/01: elm_widget_item_eo.legacy: change @ingroup to Elm_General
xartigas pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=fe54a4dd1ac780b7af37d7fe735959283a5cb4bc commit fe54a4dd1ac780b7af37d7fe735959283a5cb4bc Author: Jaehyun Cho Date: Tue Apr 2 10:25:58 2019 +0200 elm_widget_item_eo.legacy: change @ingroup to Elm_General Summary: The @ingroup of elm_object_item APIs is Elm_General in elm_object_item.h. Since legacy prefix of Elm_Widget_Item is elm_object_item, the prefix of Elm_Widget_Item APIs is elm_object_item. Consequently, to display the legacy Elm_Widget_Item APIs with elm_object_item APIs, the @ingroup is changed from Elm_Object_Item_Group to Elm_General. Test Plan: make doc and check the documentation Reviewers: segfaultxavi Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D8529 --- src/lib/elementary/elm_widget_item_eo.legacy.h | 106 ++--- 1 file changed, 59 insertions(+), 47 deletions(-) diff --git a/src/lib/elementary/elm_widget_item_eo.legacy.h b/src/lib/elementary/elm_widget_item_eo.legacy.h index d1fc974928..2937be3df0 100644 --- a/src/lib/elementary/elm_widget_item_eo.legacy.h +++ b/src/lib/elementary/elm_widget_item_eo.legacy.h @@ -4,6 +4,18 @@ #ifndef _ELM_WIDGET_ITEM_EO_CLASS_TYPE #define _ELM_WIDGET_ITEM_EO_CLASS_TYPE +/** + * @typedef Elm_Widget_Item + * An Elementary widget item handle. + * This is a sub component of an Elementary widget and it is the same as + * Elementary object item, Elm_Object_Item. + * Common functions for Elementary widget item are provided on this page. + * Each Elementary widget also provides its own functions to use Elementary + * widget item. + * For more details about how Elementary widget item is used with Elementary + * widget, please refer each Elementary widget's documents. + * @ingroup Elm_General + */ typedef Eo Elm_Widget_Item; #endif @@ -26,7 +38,7 @@ typedef Eo Elm_Widget_Item; * * @return @c false on failure, @c true on success * - * @ingroup Elm_Object_Item_Group + * @ingroup Elm_General */ EAPI Eina_Bool elm_object_item_tooltip_window_mode_set(Elm_Widget_Item *obj, Eina_Bool disable); @@ -41,7 +53,7 @@ EAPI Eina_Bool elm_object_item_tooltip_window_mode_set(Elm_Widget_Item *obj, Ein * * @return If @c true, size restrictions are disabled * - * @ingroup Elm_Object_Item_Group + * @ingroup Elm_General */ EAPI Eina_Bool elm_object_item_tooltip_window_mode_get(const Elm_Widget_Item *obj); @@ -57,7 +69,7 @@ EAPI Eina_Bool elm_object_item_tooltip_window_mode_get(const Elm_Widget_Item *ob * @param[in] obj The object. * @param[in] style The theme style used/to use (default, transparent, ...) * - * @ingroup Elm_Object_Item_Group + * @ingroup Elm_General */ EAPI void elm_object_item_tooltip_style_set(Elm_Widget_Item *obj, const char *style); @@ -74,7 +86,7 @@ EAPI void elm_object_item_tooltip_style_set(Elm_Widget_Item *obj, const char *st * * @return The theme style used/to use (default, transparent, ...) * - * @ingroup Elm_Object_Item_Group + * @ingroup Elm_General */ EAPI const char *elm_object_item_tooltip_style_get(const Elm_Widget_Item *obj); @@ -94,7 +106,7 @@ EAPI const char *elm_object_item_tooltip_style_get(const Elm_Widget_Item *obj); * @param[in] obj The object. * @param[in] cursor The cursor type's name * - * @ingroup Elm_Object_Item_Group + * @ingroup Elm_General */ EAPI void elm_object_item_cursor_set(Elm_Widget_Item *obj, const char *cursor); @@ -115,7 +127,7 @@ EAPI void elm_object_item_cursor_set(Elm_Widget_Item *obj, const char *cursor); * * @return The cursor type's name * - * @ingroup Elm_Object_Item_Group + * @ingroup Elm_General */ EAPI const char *elm_object_item_cursor_get(const Elm_Widget_Item *obj); @@ -135,7 +147,7 @@ EAPI const char *elm_object_item_cursor_get(const Elm_Widget_Item *obj); * @param[in] style The theme style to use/in use (e.g. $"default", * $"transparent", etc) * - * @ingroup Elm_Object_Item_Group + * @ingroup Elm_General */ EAPI void elm_object_item_cursor_style_set(Elm_Widget_Item *obj, const char *style); @@ -155,7 +167,7 @@ EAPI void elm_object_item_cursor_style_set(Elm_Widget_Item *obj, const char *sty * * @return The theme style to use/in use (e.g. $"default", $"transparent", etc) * - * @ingroup Elm_Object_Item_Group + * @ingroup Elm_General */ EAPI const char *elm_object_item_cursor_style_get(const Elm_Widget_Item *obj); @@ -174,7 +186,7 @@ EAPI const char *elm_object_item_cursor_style_get(const Elm_Widget_Item *obj); * provided by the rendering engine, @c false to have them searched on the * widget's theme, as well. * - * @ingroup Elm_Object_Item_Group + * @ingroup Elm_General */ EAPI void elm_object_item_cursor_engine_only_set(Elm_Widget_Item *obj, Eina_Bool
[EGIT] [core/efl] master 02/05: Revert "test/efl_ui_pager: fix demo"
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=f652bf932837846c5911c26992196213780394df commit f652bf932837846c5911c26992196213780394df Author: Jaehyun Cho Date: Tue Apr 2 16:29:11 2019 +0900 Revert "test/efl_ui_pager: fix demo" This reverts commit d3bb1a7342b2725c585d90557926e0c433058e50. The commit is reverted to revert the following commits. 74c48f029632d2260816b4cb3de6dbb40a29f040 913a5bff66dd7a58753ccae1474657ec33350e43 The above commits will be restored after release and then d3bb1a7342b2725c585d90557926e0c433058e50 will be also restored. --- src/bin/elementary/test_ui_pager.c | 30 -- 1 file changed, 4 insertions(+), 26 deletions(-) diff --git a/src/bin/elementary/test_ui_pager.c b/src/bin/elementary/test_ui_pager.c index 32bc1d775a..78fb1b598e 100644 --- a/src/bin/elementary/test_ui_pager.c +++ b/src/bin/elementary/test_ui_pager.c @@ -36,8 +36,7 @@ typedef enum _Pack_Type { PACK_BEFORE, PACK_AFTER, PACK_AT, - UNPACK_AT, - CLEAR + UNPACK_AT } Pack_Type; typedef struct _Params { @@ -219,7 +218,7 @@ static void pack_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) Eo *page = NULL, *curr_page; int index, cnt; - if ((param->type != UNPACK_AT) && (param->type != CLEAR)) { + if (param->type != UNPACK_AT) { index = efl_content_count(pager); switch (index % 3) { @@ -261,12 +260,10 @@ static void pack_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) break; case UNPACK_AT: index = efl_ui_range_value_get(param->unpack_sp); - page = efl_pack_unpack_at(pager, index); + page = efl_pack_content_get(pager, index); + efl_pack_unpack(pager, page); efl_del(page); break; - case CLEAR: - efl_pack_clear(pager); - break; } cnt = efl_content_count(pager); @@ -590,25 +587,6 @@ static void pack_cb(void *data, efl_pack_end(box, in_box2); efl_pack_end(in_box2, btn); efl_pack_end(in_box2, sp2); - - // Clear - pack_param = calloc(1, sizeof(Pack_Params)); - if (!pack_param) return; - - pack_param->pager = pager; - pack_param->pack_sp = sp1; - pack_param->unpack_sp = sp2; - pack_param->unpack_btn = btn; - pack_param->type = CLEAR; - - efl_add(EFL_UI_BUTTON_CLASS, box, - efl_text_set(efl_added, "Clear"), - efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, - pack_btn_cb, pack_param), - efl_event_callback_add(efl_added, EFL_EVENT_DEL, - pack_btn_del_cb, pack_param), - efl_pack_end(box, efl_added)); - } static void current_page_cb(void *data, --
[EGIT] [core/efl] master 01/05: Revert "elm - fix harmless warning for clean build"
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d2eebb6f5faebc76a1a13494fd0721e8d63af410 commit d2eebb6f5faebc76a1a13494fd0721e8d63af410 Author: Jaehyun Cho Date: Tue Apr 2 16:27:35 2019 +0900 Revert "elm - fix harmless warning for clean build" This reverts commit e3d2a0cf1235beceb3b403e42d2dafed4b4e90e5. The commit is reverted to revert the following commit. 74c48f029632d2260816b4cb3de6dbb40a29f040 The above commit will be restored after release and then e3d2a0cf1235beceb3b403e42d2dafed4b4e90e5 will be also restored. --- src/lib/elementary/efl_page_transition_scroll.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elementary/efl_page_transition_scroll.c b/src/lib/elementary/efl_page_transition_scroll.c index 3908710cc6..ac3c6dab1d 100644 --- a/src/lib/elementary/efl_page_transition_scroll.c +++ b/src/lib/elementary/efl_page_transition_scroll.c @@ -427,7 +427,7 @@ _efl_page_transition_scroll_unpack_all(Eo *obj EINA_UNUSED, pi->content = NULL; pi->visible = EINA_FALSE; } - return; + return EINA_TRUE; } EOLIAN static void --
[EGIT] [core/efl] master 03/05: Revert "test/efl_ui_pager_scroll: fix demo"
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=5742caa6016bf0ea852059546ded493c2d52b1a7 commit 5742caa6016bf0ea852059546ded493c2d52b1a7 Author: Jaehyun Cho Date: Tue Apr 2 16:35:12 2019 +0900 Revert "test/efl_ui_pager_scroll: fix demo" This reverts commit 30bd541bf264d369e2a96d27fa3ff5139c360e26. The commit is reverted to revert the following commits. 74c48f029632d2260816b4cb3de6dbb40a29f040 913a5bff66dd7a58753ccae1474657ec33350e43 The above commits will be restored after release and then 30bd541bf264d369e2a96d27fa3ff5139c360e26 will be also restored. --- src/bin/elementary/test_ui_pager_scroll.c | 72 +++ 1 file changed, 15 insertions(+), 57 deletions(-) diff --git a/src/bin/elementary/test_ui_pager_scroll.c b/src/bin/elementary/test_ui_pager_scroll.c index 8df58c6570..30a4306f63 100644 --- a/src/bin/elementary/test_ui_pager_scroll.c +++ b/src/bin/elementary/test_ui_pager_scroll.c @@ -36,8 +36,7 @@ typedef enum _Pack_Type { PACK_BEFORE, PACK_AFTER, PACK_AT, - UNPACK_AT, - CLEAR + UNPACK_AT } Pack_Type; typedef struct _Params { @@ -241,7 +240,7 @@ static void pack_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) Eo *page = NULL, *curr_page; int index, cnt; - if ((param->type != UNPACK_AT) && (param->type != CLEAR)) { + if (param->type != UNPACK_AT) { index = efl_content_count(pager); switch (index % 3) { @@ -283,12 +282,10 @@ static void pack_btn_cb(void *data, const Efl_Event *ev EINA_UNUSED) break; case UNPACK_AT: index = efl_ui_range_value_get(param->unpack_sp); - page = efl_pack_unpack_at(pager, index); + page = efl_pack_content_get(pager, index); + efl_pack_unpack(pager, page); efl_del(page); break; - case CLEAR: - efl_pack_clear(pager); - break; } cnt = efl_content_count(pager); @@ -356,11 +353,13 @@ static void next_block_check_cb(void *data, const Efl_Event *ev) efl_ui_pager_scroll_block_set(pager, prev, next); } -static void loop_radio_cb(void *data, const Efl_Event *ev) +static void loop_check_cb(void *data, const Efl_Event *ev) { Eo *pager = data; int state = efl_ui_nstate_value_get(ev->object); + //FIXME use other widget (i.e. radio) than check + // since loop might not be enabled according to the number of items efl_ui_pager_loop_mode_set(pager, state); } @@ -702,24 +701,6 @@ static void pack_cb(void *data, efl_pack_end(box, in_box2); efl_pack_end(in_box2, btn); efl_pack_end(in_box2, sp2); - - // Clear - pack_param = calloc(1, sizeof(Pack_Params)); - if (!pack_param) return; - - pack_param->pager = pager; - pack_param->pack_sp = sp1; - pack_param->unpack_sp = sp2; - pack_param->unpack_btn = btn; - pack_param->type = CLEAR; - - efl_add(EFL_UI_BUTTON_CLASS, box, - efl_text_set(efl_added, "Clear"), - efl_event_callback_add(efl_added, EFL_UI_EVENT_CLICKED, - pack_btn_cb, pack_param), - efl_event_callback_add(efl_added, EFL_EVENT_DEL, - pack_btn_del_cb, pack_param), - efl_pack_end(box, efl_added)); } static void current_page_cb(void *data, @@ -817,8 +798,7 @@ static void loop_cb(void *data EINA_UNUSED, Params *params = (Params *)data; Evas_Object *navi = params->navi; Eo *pager = params->pager; - Eo *btn, *box, *rd; - Efl_Ui_Pager_Loop loop; + Eo *btn, *box; btn = efl_add(EFL_UI_BUTTON_CLASS, navi, efl_text_set(efl_added, "Back"), @@ -830,35 +810,13 @@ static void loop_cb(void *data EINA_UNUSED, elm_naviframe_item_push(navi, "Loop", btn, NULL, efl_added, NULL)); - rd = efl_add(EFL_UI_RADIO_CLASS, box, -efl_ui_radio_state_value_set(efl_added, EFL_UI_PAGER_LOOP_DISABLED), -efl_text_set(efl_added, "Disabled"), -efl_gfx_hint_weight_set(efl_added, 1, 0), -efl_event_callback_add(efl_added, EFL_UI_RADIO_EVENT_CHANGED, - loop_radio_cb, pager), -efl_pack(box, efl_added)); - - rd = efl_add(EFL_UI_RADIO_CLASS, box, -efl_ui_radio_state_value_set(efl_added, EFL_UI_PAGER_LOOP_ENABLED), -efl_ui_radio_group_add(efl_added, rd), -efl_text_set(efl_added, "Enabled"), -efl_gfx_hint_weight_set(efl_added, 1, 0), -efl_event_callback_add(efl_added, EFL_UI_RADIO_EVENT_CHANGED, - loop_radio_cb, pager), -efl_pack(box, efl_added)); - - loop = efl_ui_pager_loop_mode_get(pager); - - efl_ui_
[EGIT] [core/efl] master 04/05: Revert "efl_ui_pager: implement unpack_all/clear function"
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=b28f1e034b7ecbe7966b0d2b9687d8e22245837c commit b28f1e034b7ecbe7966b0d2b9687d8e22245837c Author: Jaehyun Cho Date: Tue Apr 2 16:36:20 2019 +0900 Revert "efl_ui_pager: implement unpack_all/clear function" This reverts commit 74c48f029632d2260816b4cb3de6dbb40a29f040. The commit is reverted because the commit implements features during feature freeze period before release. 74c48f029632d2260816b4cb3de6dbb40a29f040 will be restored after release. --- src/lib/elementary/efl_page_indicator.c | 13 +-- src/lib/elementary/efl_page_indicator_icon.c| 20 +- src/lib/elementary/efl_page_transition.c| 11 -- src/lib/elementary/efl_page_transition_scroll.c | 20 -- src/lib/elementary/efl_ui_pager.c | 51 +++-- src/lib/elementary/elm_priv.h | 2 - 6 files changed, 8 insertions(+), 109 deletions(-) diff --git a/src/lib/elementary/efl_page_indicator.c b/src/lib/elementary/efl_page_indicator.c index 6b0be267b2..57cd2bf9f9 100644 --- a/src/lib/elementary/efl_page_indicator.c +++ b/src/lib/elementary/efl_page_indicator.c @@ -42,14 +42,6 @@ _efl_page_indicator_unpack(Eo *obj EINA_UNUSED, pd->curr_idx--; } -EOLIAN static void -_efl_page_indicator_unpack_all(Eo *obj EINA_UNUSED, - Efl_Page_Indicator_Data *pd) -{ - pd->cnt = 0; - pd->curr_idx = -1; -} - EOLIAN static void _efl_page_indicator_bind(Eo *obj EINA_UNUSED, Efl_Page_Indicator_Data *pd, @@ -80,7 +72,6 @@ EOAPI EFL_VOID_FUNC_BODYV(efl_page_indicator_pack, EFL_FUNC_CALL(index), int index) EOAPI EFL_VOID_FUNC_BODYV(efl_page_indicator_unpack, EFL_FUNC_CALL(index), int index) -EOAPI EFL_VOID_FUNC_BODY(efl_page_indicator_unpack_all) #define EFL_PAGE_INDICATOR_EXTRA_OPS \ EFL_OBJECT_OP_FUNC(efl_page_indicator_update, \ @@ -88,8 +79,6 @@ EOAPI EFL_VOID_FUNC_BODY(efl_page_indicator_unpack_all) EFL_OBJECT_OP_FUNC(efl_page_indicator_pack, \ _efl_page_indicator_pack), \ EFL_OBJECT_OP_FUNC(efl_page_indicator_unpack, \ - _efl_page_indicator_unpack), \ - EFL_OBJECT_OP_FUNC(efl_page_indicator_unpack_all, \ - _efl_page_indicator_unpack_all) + _efl_page_indicator_unpack) #include "efl_page_indicator.eo.c" diff --git a/src/lib/elementary/efl_page_indicator_icon.c b/src/lib/elementary/efl_page_indicator_icon.c index 55326cfdd6..3c9c54e75e 100644 --- a/src/lib/elementary/efl_page_indicator_icon.c +++ b/src/lib/elementary/efl_page_indicator_icon.c @@ -109,22 +109,6 @@ _efl_page_indicator_icon_unpack(Eo *obj, } } -EOLIAN static void -_efl_page_indicator_icon_unpack_all(Eo *obj, -Efl_Page_Indicator_Icon_Data *pd) -{ - Eo *item; - - EINA_LIST_FREE(pd->items, item) - { -efl_del(item); - } - - pd->curr = NULL; - - efl_page_indicator_unpack_all(efl_super(obj, MY_CLASS)); -} - EOLIAN static void _efl_page_indicator_icon_efl_page_indicator_bind(Eo *obj, Efl_Page_Indicator_Icon_Data *pd, @@ -184,8 +168,6 @@ _efl_page_indicator_icon_efl_page_indicator_bind(Eo *obj, EFL_OBJECT_OP_FUNC(efl_page_indicator_pack, \ _efl_page_indicator_icon_pack), \ EFL_OBJECT_OP_FUNC(efl_page_indicator_unpack, \ - _efl_page_indicator_icon_unpack), \ - EFL_OBJECT_OP_FUNC(efl_page_indicator_unpack_all, \ - _efl_page_indicator_icon_unpack_all) + _efl_page_indicator_icon_unpack) #include "efl_page_indicator_icon.eo.c" diff --git a/src/lib/elementary/efl_page_transition.c b/src/lib/elementary/efl_page_transition.c index f6d73a2c10..3740a6996d 100644 --- a/src/lib/elementary/efl_page_transition.c +++ b/src/lib/elementary/efl_page_transition.c @@ -71,14 +71,6 @@ _efl_page_transition_pack(Eo *obj EINA_UNUSED, } -EOLIAN static void -_efl_page_transition_unpack_all(Eo *obj EINA_UNUSED, -Efl_Page_Transition_Data *pd EINA_UNUSED, -int index EINA_UNUSED) -{ - -} - EOLIAN static void _efl_page_transition_curr_page_change(Eo *obj EINA_UNUSED, Efl_Page_Transition_Data *pd EINA_UNUSED, @@ -102,7 +94,6 @@ EOAPI EFL_VOID_FUNC_BODYV(efl_page_transition_update, EFL_FUNC_CALL(move), double move) EOAPI EFL_VOID_FUNC_BODYV(efl_page_transition_pack, EFL_FUNC_CALL(index), int index) -EOAPI EFL_VOID_FUNC_BODY(efl_page_transition_unpack_all) EOAPI EFL_VOID_FUNC_BODYV(efl_page_transition_curr_page_change, EFL_FUNC_CAL
[EGIT] [core/efl] master 05/05: Revert "efl_ui_pager: implement unpack_at function"
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a10e1bc597f00865514f30d84268963dcbf3f599 commit a10e1bc597f00865514f30d84268963dcbf3f599 Author: Jaehyun Cho Date: Tue Apr 2 16:39:40 2019 +0900 Revert "efl_ui_pager: implement unpack_at function" This reverts commit 913a5bff66dd7a58753ccae1474657ec33350e43. The commit is reverted because the commit implements features during feature freeze period before release. 913a5bff66dd7a58753ccae1474657ec33350e43 will be restored after release. --- src/lib/elementary/efl_ui_pager.c | 17 + 1 file changed, 5 insertions(+), 12 deletions(-) diff --git a/src/lib/elementary/efl_ui_pager.c b/src/lib/elementary/efl_ui_pager.c index 520398941c..bf81d1ac91 100644 --- a/src/lib/elementary/efl_ui_pager.c +++ b/src/lib/elementary/efl_ui_pager.c @@ -853,19 +853,12 @@ _efl_ui_pager_efl_pack_unpack(Eo *obj, } EOLIAN static Efl_Gfx_Entity * -_efl_ui_pager_efl_pack_linear_pack_unpack_at(Eo *obj, - Efl_Ui_Pager_Data *pd, - int index) +_efl_ui_pager_efl_pack_linear_pack_unpack_at(Eo *obj EINA_UNUSED, + Efl_Ui_Pager_Data *pd EINA_UNUSED, + int index EINA_UNUSED) { - if (!EINA_DBL_EQ(pd->curr.pos, 0.0)) return NULL; - - if ((index >= pd->cnt) || (index < 0)) return NULL; - - Efl_Gfx_Entity *subobj = eina_list_nth(pd->content_list, index); - - _unpack(obj, pd, subobj, index); - - return subobj; + ERR("Soon to be implemented"); + return NULL; } --
[EGIT] [core/efl] master 01/01: efl_mono: remove unnecessary external function import
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=2b9278c984be3e8b629b0c3e1392396d98bd95ff commit 2b9278c984be3e8b629b0c3e1392396d98bd95ff Author: Jaehyun Cho Date: Mon Mar 25 18:58:03 2019 +0900 efl_mono: remove unnecessary external function import ecore_init, ecore_shutdown, elm_init, elm_policy_set, elm_shutdown, elm_exit are imported in efl_all.cs. Moreover, efl_csharp_application.cs is using Efl.UnsafeNativeMethods. Therefore, the unnecessary external function import is removed in efl_all.cs. --- src/bindings/mono/efl_mono/efl_csharp_application.cs | 9 - 1 file changed, 9 deletions(-) diff --git a/src/bindings/mono/efl_mono/efl_csharp_application.cs b/src/bindings/mono/efl_mono/efl_csharp_application.cs index f067b288ec..3bac96170d 100644 --- a/src/bindings/mono/efl_mono/efl_csharp_application.cs +++ b/src/bindings/mono/efl_mono/efl_csharp_application.cs @@ -3,15 +3,6 @@ using System.Runtime.InteropServices; using System.Threading; using static Efl.UnsafeNativeMethods; -static class UnsafeNativeMethods { -[DllImport(efl.Libs.Ecore)] public static extern void ecore_init(); -[DllImport(efl.Libs.Ecore)] public static extern void ecore_shutdown(); -[DllImport(efl.Libs.Elementary)] public static extern int elm_init(int argc, IntPtr argv); -[DllImport(efl.Libs.Elementary)] public static extern void elm_policy_set(int policy, int policy_detail); -[DllImport(efl.Libs.Elementary)] public static extern void elm_shutdown(); -[DllImport(efl.Libs.Elementary)] public static extern void elm_exit(); -} - namespace Efl { namespace Csharp { ///The components to be initialized. --
[EGIT] [core/efl] master 01/02: elm_atspi_app_object: remove all legacy usage from eo files
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=0225db71c06cae4108813b3ce2ff92273ce9e53c commit 0225db71c06cae4108813b3ce2ff92273ce9e53c Author: Jaehyun Cho Date: Thu Mar 21 21:06:09 2019 +0900 elm_atspi_app_object: remove all legacy usage from eo files this takes the current generated output from eolian for legacy code in efl and adds it to the tree, then removes legacy references from the corresponding eo files. in the case where the entire eo file was for a legacy object, that eo file has been removed from the tree ref T7724 --- src/Makefile_Elementary.am | 4 +- src/lib/elementary/elm_atspi_app_object.c | 2 +- src/lib/elementary/elm_atspi_app_object.eo | 12 - src/lib/elementary/elm_atspi_app_object.h | 4 +- src/lib/elementary/elm_atspi_app_object_eo.c | 55 ++ src/lib/elementary/elm_atspi_app_object_eo.h | 24 ++ .../elementary/elm_atspi_app_object_eo.legacy.h| 17 +++ src/lib/elementary/elm_priv.h | 1 + src/lib/elementary/meson.build | 2 +- 9 files changed, 105 insertions(+), 16 deletions(-) diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am index c006680071..b1fad382cc 100644 --- a/src/Makefile_Elementary.am +++ b/src/Makefile_Elementary.am @@ -144,7 +144,6 @@ elm_public_eolian_files += \ lib/elementary/elm_multibuttonentry_part.eo \ lib/elementary/elm_interface_scrollable.eo \ lib/elementary/elm_atspi_bridge.eo \ - lib/elementary/elm_atspi_app_object.eo \ lib/elementary/efl_ui_image_zoomable_pan.eo \ $(NULL) @@ -256,6 +255,7 @@ lib/elementary/elm_access_eo.c \ lib/elementary/elm_access_eo.legacy.c \ lib/elementary/elm_actionslider_eo.c \ lib/elementary/elm_actionslider_eo.legacy.c \ +lib/elementary/elm_atspi_app_object_eo.c \ lib/elementary/elm_box_eo.c \ lib/elementary/elm_box_eo.legacy.c \ lib/elementary/elm_bubble_eo.c \ @@ -434,6 +434,7 @@ lib/elementary/efl_ui_win_legacy_eo.legacy.h \ lib/elementary/efl_ui_win_socket_legacy_eo.legacy.h \ lib/elementary/elm_access_eo.legacy.h \ lib/elementary/elm_actionslider_eo.legacy.h \ +lib/elementary/elm_atspi_app_object_eo.legacy.h \ lib/elementary/elm_box_eo.legacy.h \ lib/elementary/elm_bubble_eo.legacy.h \ lib/elementary/elm_calendar_eo.legacy.h \ @@ -541,6 +542,7 @@ lib/elementary/efl_ui_win_legacy_eo.h \ lib/elementary/efl_ui_win_socket_legacy_eo.h \ lib/elementary/elm_access_eo.h \ lib/elementary/elm_actionslider_eo.h \ +lib/elementary/elm_atspi_app_object_eo.h \ lib/elementary/elm_box_eo.h \ lib/elementary/elm_bubble_eo.h \ lib/elementary/elm_calendar_eo.h \ diff --git a/src/lib/elementary/elm_atspi_app_object.c b/src/lib/elementary/elm_atspi_app_object.c index 77cfe7f93c..e1ef62ac91 100644 --- a/src/lib/elementary/elm_atspi_app_object.c +++ b/src/lib/elementary/elm_atspi_app_object.c @@ -70,4 +70,4 @@ _elm_atspi_app_object_efl_access_object_role_get(const Eo *obj EINA_UNUSED, Elm_ return EFL_ACCESS_ROLE_APPLICATION; } -#include "elm_atspi_app_object.eo.c" +#include "elm_atspi_app_object_eo.c" diff --git a/src/lib/elementary/elm_atspi_app_object.eo b/src/lib/elementary/elm_atspi_app_object.eo deleted file mode 100644 index e63e233923..00 --- a/src/lib/elementary/elm_atspi_app_object.eo +++ /dev/null @@ -1,12 +0,0 @@ -class Elm.Atspi.App.Object extends Efl.Object implements Efl.Access.Object -{ - [[AT-SPI application object class]] - data: Elm_Atspi_App_Object_Data; - implements { - Efl.Object.destructor; - Efl.Access.Object.i18n_name { get; } - Efl.Access.Object.description { get; set; } - Efl.Access.Object.role { get; } - Efl.Access.Object.access_children { get; } - } -} diff --git a/src/lib/elementary/elm_atspi_app_object.h b/src/lib/elementary/elm_atspi_app_object.h index f460ffd83e..e67e5524ff 100644 --- a/src/lib/elementary/elm_atspi_app_object.h +++ b/src/lib/elementary/elm_atspi_app_object.h @@ -1 +1,3 @@ -#include "elm_atspi_app_object.eo.h" +#ifndef EFL_NOLEGACY_API_SUPPORT +#include "elm_atspi_app_object_eo.legacy.h" +#endif diff --git a/src/lib/elementary/elm_atspi_app_object_eo.c b/src/lib/elementary/elm_atspi_app_object_eo.c new file mode 100644 index 00..2158c09038 --- /dev/null +++ b/src/lib/elementary/elm_atspi_app_object_eo.c @@ -0,0 +1,55 @@ + +void _elm_atspi_app_object_efl_object_destructor(Eo *obj, Elm_Atspi_App_Object_Data *pd); + + +const char *_elm_atspi_app_object_efl_access_object_i18n_name_get(const Eo *obj, Elm_Atspi_App_Object_Data *pd); + + +void _elm_atspi_app_object_efl_access_object_description_set(Eo *obj, Elm_Atspi_App_Object_Data *pd, const char *description); + + +const char *_elm_atspi_app_object_efl_access_object_description_get(const Eo *obj, Elm_Atspi_Ap
[EGIT] [core/efl] master 02/02: elm_atspi_bridge: remove all legacy usage from eo files
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=44d0cb926098e34185d4a2cbc1ab1a705e50d25e commit 44d0cb926098e34185d4a2cbc1ab1a705e50d25e Author: Jaehyun Cho Date: Thu Mar 21 21:29:00 2019 +0900 elm_atspi_bridge: remove all legacy usage from eo files this takes the current generated output from eolian for legacy code in efl and adds it to the tree, then removes legacy references from the corresponding eo files. in the case where the entire eo file was for a legacy object, that eo file has been removed from the tree ref T7724 --- src/Makefile_Elementary.am | 7 ++- src/lib/elementary/elm_atspi_bridge.c | 2 +- src/lib/elementary/elm_atspi_bridge.eo | 24 - src/lib/elementary/elm_atspi_bridge.h | 5 +- src/lib/elementary/elm_atspi_bridge_eo.c| 66 + src/lib/elementary/elm_atspi_bridge_eo.h| 51 +++ src/lib/elementary/elm_atspi_bridge_eo.legacy.c | 6 +++ src/lib/elementary/elm_atspi_bridge_eo.legacy.h | 28 +++ src/lib/elementary/elm_priv.h | 1 + src/lib/elementary/meson.build | 4 +- 10 files changed, 163 insertions(+), 31 deletions(-) diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am index b1fad382cc..4b132104f0 100644 --- a/src/Makefile_Elementary.am +++ b/src/Makefile_Elementary.am @@ -143,7 +143,6 @@ elm_public_eolian_files += \ lib/elementary/efl_ui_progressbar_legacy_part.eo \ lib/elementary/elm_multibuttonentry_part.eo \ lib/elementary/elm_interface_scrollable.eo \ - lib/elementary/elm_atspi_bridge.eo \ lib/elementary/efl_ui_image_zoomable_pan.eo \ $(NULL) @@ -256,6 +255,8 @@ lib/elementary/elm_access_eo.legacy.c \ lib/elementary/elm_actionslider_eo.c \ lib/elementary/elm_actionslider_eo.legacy.c \ lib/elementary/elm_atspi_app_object_eo.c \ +lib/elementary/elm_atspi_bridge_eo.c \ +lib/elementary/elm_atspi_bridge_eo.legacy.c \ lib/elementary/elm_box_eo.c \ lib/elementary/elm_box_eo.legacy.c \ lib/elementary/elm_bubble_eo.c \ @@ -435,6 +436,7 @@ lib/elementary/efl_ui_win_socket_legacy_eo.legacy.h \ lib/elementary/elm_access_eo.legacy.h \ lib/elementary/elm_actionslider_eo.legacy.h \ lib/elementary/elm_atspi_app_object_eo.legacy.h \ +lib/elementary/elm_atspi_bridge_eo.legacy.h \ lib/elementary/elm_box_eo.legacy.h \ lib/elementary/elm_bubble_eo.legacy.h \ lib/elementary/elm_calendar_eo.legacy.h \ @@ -543,6 +545,7 @@ lib/elementary/efl_ui_win_socket_legacy_eo.h \ lib/elementary/elm_access_eo.h \ lib/elementary/elm_actionslider_eo.h \ lib/elementary/elm_atspi_app_object_eo.h \ +lib/elementary/elm_atspi_bridge_eo.h \ lib/elementary/elm_box_eo.h \ lib/elementary/elm_bubble_eo.h \ lib/elementary/elm_calendar_eo.h \ @@ -645,7 +648,6 @@ includesdir = $(includedir)/elementary-@VMAJ@ includesunstable_HEADERS = \ lib/elementary/elm_gen_common.h \ - lib/elementary/elm_atspi_bridge.h \ lib/elementary/efl_access_object.h \ lib/elementary/efl_access_text.h \ lib/elementary/efl_access_widget_action.h \ @@ -802,6 +804,7 @@ includesub_HEADERS = \ lib/elementary/elm_actionslider_legacy.h \ lib/elementary/elm_app.h \ lib/elementary/elm_atspi_app_object.h \ + lib/elementary/elm_atspi_bridge.h \ lib/elementary/elm_authors.h \ lib/elementary/elm_bg.h \ lib/elementary/elm_bg_legacy.h \ diff --git a/src/lib/elementary/elm_atspi_bridge.c b/src/lib/elementary/elm_atspi_bridge.c index e1dc3ef241..c689557d6c 100644 --- a/src/lib/elementary/elm_atspi_bridge.c +++ b/src/lib/elementary/elm_atspi_bridge.c @@ -4801,4 +4801,4 @@ _elm_atspi_bridge_efl_object_destructor(Eo *obj, Elm_Atspi_Bridge_Data *pd) efl_destructor(efl_super(obj, ELM_ATSPI_BRIDGE_CLASS)); } -#include "elm_atspi_bridge.eo.c" +#include "elm_atspi_bridge_eo.c" diff --git a/src/lib/elementary/elm_atspi_bridge.eo b/src/lib/elementary/elm_atspi_bridge.eo deleted file mode 100644 index 8ed0f1a25b..00 --- a/src/lib/elementary/elm_atspi_bridge.eo +++ /dev/null @@ -1,24 +0,0 @@ -class Elm.Atspi.Bridge extends Efl.Object -{ - [[AT-SPI bridge class]] - eo_prefix: elm_obj_atspi_bridge; - event_prefix: elm_atspi_bridge; - methods { - @property connected { - get { -[[Indicate if connection with AT-SPI2 bus has been established.]] -values { - ret: bool; [[$true if connection has been established, $false otherwise]] -} - } - } - } - implements { - Efl.Object.constructor; - Efl.Object.destructor; - } - events { - connected: void; [[Connected with AT-SPI2 bus]] - disconnected: void; [[Disconnected from AT-SPI2 bus]] - } -} diff --git a/src/lib/elementary/elm_atspi_bridge.h b/src/lib/elementary/elm_atspi_bridg
[EGIT] [core/efl] master 01/01: eolian_mono: apply indentation of if scope
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a253f502c7359db787dc78e02499735e5bd74c14 commit a253f502c7359db787dc78e02499735e5bd74c14 Author: Jaehyun Cho Date: Wed Mar 20 11:24:51 2019 +0900 eolian_mono: apply indentation of if scope --- src/bin/eolian_mono/eolian/mono/function_registration.hh | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/eolian_mono/eolian/mono/function_registration.hh b/src/bin/eolian_mono/eolian/mono/function_registration.hh index cc7534b29a..5898af9c27 100644 --- a/src/bin/eolian_mono/eolian/mono/function_registration.hh +++ b/src/bin/eolian_mono/eolian/mono/function_registration.hh @@ -38,7 +38,7 @@ struct function_registration_generator if(!as_generator( scope_tab << scope_tab << "if (" << f.c_name << "_static_delegate == null)\n" -<< scope_tab << scope_tab << f.c_name << "_static_delegate = new " << f.c_name << "_delegate(" << +<< scope_tab << scope_tab << scope_tab << f.c_name << "_static_delegate = new " << f.c_name << "_delegate(" << escape_keyword(f.name) << ");\n" ).generate(sink, attributes::unused, context)) return false; --
[EGIT] [core/efl] master 01/02: Revert "tests: add test for elm_layout_text_set"
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6bf7f19d6059a71e34566a8ef34f9e7accc3f3cf commit 6bf7f19d6059a71e34566a8ef34f9e7accc3f3cf Author: Jaehyun Cho Date: Wed Mar 13 19:25:36 2019 +0900 Revert "tests: add test for elm_layout_text_set" This reverts commit 0e027980f6c275f1a56ae550679010d689c91b23. Since D7888 breaks the backward compatibility, D7888 is going to be reverted. This patch is based on D7888 so this patch is also required to be reverted for now. After a proper patch is applied instead of D7888, then this patch can be submitted again. --- src/tests/elementary/elm_test_layout.c | 13 - 1 file changed, 13 deletions(-) diff --git a/src/tests/elementary/elm_test_layout.c b/src/tests/elementary/elm_test_layout.c index b5ee17a30c..5184086538 100644 --- a/src/tests/elementary/elm_test_layout.c +++ b/src/tests/elementary/elm_test_layout.c @@ -70,22 +70,9 @@ EFL_START_TEST(elm_layout_test_swallows) } EFL_END_TEST -EFL_START_TEST(elm_layout_test_text_set) -{ - Evas_Object *win, *layout; - - win = win_add(NULL, "layout", ELM_WIN_BASIC); - - layout = elm_layout_add(win); - ck_assert(!elm_layout_text_set(layout, "blahblah", "test")); -} -EFL_END_TEST - - void elm_test_layout(TCase *tc) { tcase_add_test(tc, elm_layout_test_legacy_type_check); tcase_add_test(tc, elm_atspi_role_get); tcase_add_test(tc, elm_layout_test_swallows); - tcase_add_test(tc, elm_layout_test_text_set); } --
[EGIT] [core/efl] master 02/02: Revert "efl_ui_layout: check part existence in text_set"
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=98ca79e8ce2d479f1e3d29eff04e39c232f1c275 commit 98ca79e8ce2d479f1e3d29eff04e39c232f1c275 Author: Jaehyun Cho Date: Wed Mar 13 19:27:03 2019 +0900 Revert "efl_ui_layout: check part existence in text_set" This reverts commit 649433560b5b6c81e2136d0e2d036042f035b00c. This patch is reverted because this patch breaks the backward compatibility. Please check Popup in elementary_test. --- src/lib/elementary/efl_ui_layout.c | 1 - 1 file changed, 1 deletion(-) diff --git a/src/lib/elementary/efl_ui_layout.c b/src/lib/elementary/efl_ui_layout.c index 8c6e69abcf..d50bd84674 100644 --- a/src/lib/elementary/efl_ui_layout.c +++ b/src/lib/elementary/efl_ui_layout.c @@ -2764,7 +2764,6 @@ elm_layout_text_set(Eo *obj, const char *part, const char *text) else if (!_elm_layout_part_aliasing_eval(obj, , EINA_TRUE)) return EINA_FALSE; - if (!efl_layout_group_part_exist_get(obj, part)) return EINA_FALSE; efl_text_set(efl_part(obj, part), text); return EINA_TRUE; } --
[EGIT] [core/efl] master 02/02: efl_ui_navigation_layout: fix bar value to be Efl.Ui.Layout_Base
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6c00b54305c9b24480880c932f8113b8235ad155 commit 6c00b54305c9b24480880c932f8113b8235ad155 Author: Jaehyun Cho Date: Tue Mar 12 14:42:28 2019 +0900 efl_ui_navigation_layout: fix bar value to be Efl.Ui.Layout_Base Since Efl.Ui.Layout is renamed to Efl.Ui.Layout_Base, the bar value is fixed to be Efl.Ui.Layout_Base. --- src/lib/elementary/efl_ui_navigation_layout.eo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/elementary/efl_ui_navigation_layout.eo b/src/lib/elementary/efl_ui_navigation_layout.eo index e766fc0da7..1ddac7367b 100644 --- a/src/lib/elementary/efl_ui_navigation_layout.eo +++ b/src/lib/elementary/efl_ui_navigation_layout.eo @@ -16,7 +16,7 @@ class @beta Efl.Ui.Navigation_Layout extends Efl.Ui.Layout_Base implements Efl.C get { } values { -value: Efl.Ui.Layout; +value: Efl.Ui.Layout_Base; [[The bar object located at the top area of the Navigation Layout. ]] } --
[EGIT] [core/efl] master 01/01: test_ui_relative_layout: fix maybe-uninitialized warning
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=125b5c3191fd34cde51e48e5828571671942b9c7 commit 125b5c3191fd34cde51e48e5828571671942b9c7 Author: Jaehyun Cho Date: Fri Feb 22 20:00:14 2019 +0900 test_ui_relative_layout: fix maybe-uninitialized warning Warning, which 'text' may be used uninitialized, is fixed. --- src/bin/elementary/test_ui_relative_layout.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/bin/elementary/test_ui_relative_layout.c b/src/bin/elementary/test_ui_relative_layout.c index 9cb8b168c7..24546cad14 100644 --- a/src/bin/elementary/test_ui_relative_layout.c +++ b/src/bin/elementary/test_ui_relative_layout.c @@ -112,7 +112,7 @@ static void _setter_add(Eo *vbox, Eo *btn, Options option) { Eo *to, *hbox; - char *text, *btn_text; + char *text = NULL, *btn_text; double relative; switch (option) --
[EGIT] [core/efl] master 01/01: Revert "eo: fix to remove unreachable loop"
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=0e5ce0e9b4da1735834d6c3ef5941c943a8ec115 commit 0e5ce0e9b4da1735834d6c3ef5941c943a8ec115 Author: Jaehyun Cho Date: Fri Feb 22 19:01:09 2019 +0900 Revert "eo: fix to remove unreachable loop" This reverts commit f02b82a49e12c0d02bb3f438046e1ceb93d1643b. --- src/lib/eo/eo.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c index 9d70bc3e83..76bebef023 100644 --- a/src/lib/eo/eo.c +++ b/src/lib/eo/eo.c @@ -3628,8 +3628,10 @@ _efl_class_reflection_find(const _Efl_Class *klass, const char *property_name) if (ref) return ref; } - if (*klass_iter) - return _efl_class_reflection_find(*klass_iter, property_name); + for (; *klass_iter; klass_iter++) + { +return _efl_class_reflection_find(*klass_iter, property_name); + } return NULL; } --
[EGIT] [core/efl] master 01/02: eo: fix to remove unreachable loop
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=f02b82a49e12c0d02bb3f438046e1ceb93d1643b commit f02b82a49e12c0d02bb3f438046e1ceb93d1643b Author: Jaehyun Cho Date: Mon Feb 18 13:24:27 2019 +0900 eo: fix to remove unreachable loop --- src/lib/eo/eo.c | 6 ++ 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c index 76bebef023..9d70bc3e83 100644 --- a/src/lib/eo/eo.c +++ b/src/lib/eo/eo.c @@ -3628,10 +3628,8 @@ _efl_class_reflection_find(const _Efl_Class *klass, const char *property_name) if (ref) return ref; } - for (; *klass_iter; klass_iter++) - { -return _efl_class_reflection_find(*klass_iter, property_name); - } + if (*klass_iter) + return _efl_class_reflection_find(*klass_iter, property_name); return NULL; } --
[EGIT] [core/efl] master 02/02: efl_io_model: fix not to cause memory overflow by strcpy
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c8cee32929a3c03fca65a4532d1c627cd48e33f2 commit c8cee32929a3c03fca65a4532d1c627cd48e33f2 Author: Jaehyun Cho Date: Mon Feb 18 13:48:39 2019 +0900 efl_io_model: fix not to cause memory overflow by strcpy Since the destination string size is EINA_PATH_MAX, the string is copied up to EINA_PATH_MAX size. --- src/lib/eio/efl_io_model.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/eio/efl_io_model.c b/src/lib/eio/efl_io_model.c index a14209069a..76cc7ab40c 100644 --- a/src/lib/eio/efl_io_model.c +++ b/src/lib/eio/efl_io_model.c @@ -111,7 +111,7 @@ _efl_model_evt_added_ecore_cb(void *data, int type, void *event) info.name_start = mi->name_start; info.name_length = mi->name_length; info.type = EINA_FILE_UNKNOWN; -strcpy(info.path, mi->path); +strncpy(info.path, mi->path, (EINA_PATH_MAX - 1)); if (!pd->filter.cb(pd->filter.data, obj, )) { --
[EGIT] [core/efl] master 02/02: eet_dictionary: remove dead code
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=94be8a88d3c28fd8b339b141f2f209a01e589564 commit 94be8a88d3c28fd8b339b141f2f209a01e589564 Author: Jaehyun Cho Date: Wed Feb 13 07:59:46 2019 + eet_dictionary: remove dead code If index value is not -1, then eet_dictionary_string_add() returns. Therefore, it does not need to check the index value after that. Reviewed-by: Cedric BAIL Differential Revision: https://phab.enlightenment.org/D7922 --- src/lib/eet/eet_dictionary.c | 14 +++--- 1 file changed, 3 insertions(+), 11 deletions(-) diff --git a/src/lib/eet/eet_dictionary.c b/src/lib/eet/eet_dictionary.c index 46e8cbf723..7a80463bd6 100644 --- a/src/lib/eet/eet_dictionary.c +++ b/src/lib/eet/eet_dictionary.c @@ -130,17 +130,9 @@ eet_dictionary_string_add(Eet_Dictionary *ed, current->str = str; current->len = len; - if (idx == -1) - { -current->next = ed->hash[hash]; -ed->hash[hash] = ed->count; - } - else - { -current->next = idx; -if (pidx != -1) ed->all[pidx].next = ed->count; -else ed->hash[hash] = ed->count; - } + current->next = ed->hash[hash]; + ed->hash[hash] = ed->count; + cnt = ed->count++; eina_rwlock_release(>rwlock); return cnt; --
[EGIT] [core/efl] master 02/02: efl_ui_format: fix to display %% and unknown format element
cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a7eb0695b803713f8f8e69d33be0db1effb18da1 commit a7eb0695b803713f8f8e69d33be0db1effb18da1 Author: Jaehyun Cho Date: Fri Feb 1 08:13:39 2019 + efl_ui_format: fix to display %% and unknown format element This fixes 2 things as follows. 1. Displays format string "%%" as "%". Like printf does, "%%" is displayed as "%". 2. Displays unknown format element as it is. In format string "(50%)", ")" is an unknown format element. Although format string has unknown format element, the format string is displayed like printf does. The cause of the issue displaying "0%" which was mentioned on a96933f964b1757b9d9f8a4cce14d883f35a6665 is as follows. The default format string of progressbar is set as "%.0f%%". Therefore, if progressbar's format string is not set, then "%" postfix is always displayed. This commit reverts commit a96933f964b1757b9d9f8a4cce14d883f35a6665. This commit restores commit b4112b9735ce75bce95974a257aa1880fa52a6bf. This commit restores commit be770d37fb05b8486907796dd16f4635bceb4ce1. Reviewed-by: Cedric BAIL Differential Revision: https://phab.enlightenment.org/D7856 --- src/lib/efl/interfaces/efl_ui_format.c | 7 +-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/src/lib/efl/interfaces/efl_ui_format.c b/src/lib/efl/interfaces/efl_ui_format.c index e722d22654..f6f1b811e2 100644 --- a/src/lib/efl/interfaces/efl_ui_format.c +++ b/src/lib/efl/interfaces/efl_ui_format.c @@ -38,6 +38,8 @@ _format_string_check(const char *fmt) if (itr[1] == '%') { itr++; + if (ret_type == FORMAT_TYPE_STATIC) + ret_type = FORMAT_TYPE_STRING; continue; } @@ -69,7 +71,8 @@ _format_string_check(const char *fmt) } else { - ret_type = FORMAT_TYPE_INVALID; + ERR("Format string '%s' has unknown format element '%c' in format. It must have one format element of type 's', 'f', 'F', 'd', 'u', 'i', 'o', 'x' or 'X'", fmt, *itr); + found = EINA_FALSE; break; } } @@ -121,7 +124,7 @@ _default_format_cb(void *data, Eina_Strbuf *str, const Eina_Value value) } else if (sd->format_type == FORMAT_TYPE_STATIC) { -eina_strbuf_append_printf(str, "%s", sd->template); +eina_strbuf_append(str, sd->template); } else { --
[EGIT] [core/efl] master 01/01: Revert "evas: make efl_canvas_animation abstract"
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=f23f3074daa3e9da5b37cc168df5d6b003e0ec62 commit f23f3074daa3e9da5b37cc168df5d6b003e0ec62 Author: Jaehyun Cho Date: Fri Feb 1 15:17:26 2019 +0900 Revert "evas: make efl_canvas_animation abstract" Efl.Canvas.Animation class can be used for custom animation with Efl.Player class' event callbacks as follows. Example code: void _anim_running_cb(void *data, const Efl_Event *event) { //Do custom animation } { Eo *anim = efl_add(EFL_CANVAS_ANIMATION_CLASS, win); Eo *player = efl_add(EFL_CANVAS_ANIMATION_PLAYER_CLASS, efl_animation_player_animation_set(efl_added, anim)); efl_event_callback_add(player, EFL_ANIMATION_PLAYER_EVENT_RUNNING, _anim_running_cb, NULL); } As a result, Efl.Canvas.Animation is required to be a regular class instead of an abstract class. This reverts commit ea9ff9f547b54255d36973da8e8ba378c5ad2684. --- src/lib/evas/canvas/efl_canvas_animation.eo | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/lib/evas/canvas/efl_canvas_animation.eo b/src/lib/evas/canvas/efl_canvas_animation.eo index eb12ef8536..977de0579d 100644 --- a/src/lib/evas/canvas/efl_canvas_animation.eo +++ b/src/lib/evas/canvas/efl_canvas_animation.eo @@ -1,6 +1,6 @@ import efl_canvas_animation_types; -abstract Efl.Canvas.Animation extends Efl.Object implements Efl.Playable +class Efl.Canvas.Animation extends Efl.Object implements Efl.Playable { [[Efl animation class]] eo_prefix: efl_animation; --
[EGIT] [core/efl] master 01/01: eo: check memory allocation of table data
bu5hm4n pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=4eda1ea38ece822b5202fc03ad2309e85bd698b2 commit 4eda1ea38ece822b5202fc03ad2309e85bd698b2 Author: Jaehyun Cho Date: Wed Jan 30 12:03:20 2019 + eo: check memory allocation of table data Memory allocation is checked for the given domain's table data like other cases for main and shared table data. Differential Revision: https://phab.enlightenment.org/D7810 --- src/lib/eo/eo.c | 19 --- 1 file changed, 12 insertions(+), 7 deletions(-) diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c index 44a17ae8a9..3e4ac6c3e5 100644 --- a/src/lib/eo/eo.c +++ b/src/lib/eo/eo.c @@ -2470,21 +2470,26 @@ EAPI Eina_Bool efl_domain_switch(Efl_Id_Domain domain) { Eo_Id_Data *data = _eo_table_data_get(); + Eo_Id_Data *new_data; if ((domain < EFL_ID_DOMAIN_MAIN) || (domain > EFL_ID_DOMAIN_THREAD) || (domain == EFL_ID_DOMAIN_SHARED)) { ERR("Invalid domain %i being switched to", domain); return EINA_FALSE; } - if (data) + if ((data) && (data->local_domain == domain)) + return EINA_TRUE; + + new_data = _eo_table_data_new(domain); + if (!new_data) { -if (data->local_domain == domain) return EINA_TRUE; -_eo_free_ids_tables(data); +ERR("Could not allocate domain %i table data", domain); +return EINA_FALSE; } - data = _eo_table_data_new(domain); - data->local_domain = domain; - data->domain_stack[data->stack_top] = domain; - eina_tls_set(_eo_table_data, data); + if (data) _eo_free_ids_tables(data); + new_data->local_domain = domain; + new_data->domain_stack[new_data->stack_top] = domain; + eina_tls_set(_eo_table_data, new_data); return EINA_TRUE; } --
[EGIT] [core/efl] master 01/01: examples: fix slider cxx example not to call content_set
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=9c1b80fc030e08aeace6f7a6c2e95e97531d7ee6 commit 9c1b80fc030e08aeace6f7a6c2e95e97531d7ee6 Author: Jaehyun Cho Date: Tue Jan 29 13:51:47 2019 +0900 examples: fix slider cxx example not to call content_set Since Efl.Content is removed from Efl.Ui.Slider, slider should not call content_set. This patch is for the commit 4c44c44e1a46bc05ea812259474cbc8c83659769. --- src/examples/elementary/slider_cxx_example.cc | 9 ++--- 1 file changed, 2 insertions(+), 7 deletions(-) diff --git a/src/examples/elementary/slider_cxx_example.cc b/src/examples/elementary/slider_cxx_example.cc index 90d815f9de..8038782026 100644 --- a/src/examples/elementary/slider_cxx_example.cc +++ b/src/examples/elementary/slider_cxx_example.cc @@ -27,16 +27,11 @@ efl_main(void *data EINA_UNUSED, const Efl_Event *ev EINA_UNUSED) efl::ui::Slider sl2(instantiate, win); efl::ui::Image ic(instantiate, win); - ic.icon_set("home"); + ic.icon_set("folder"); ic.scalable_set(false, false); - sl2.content_set(ic); - - efl::ui::Image ic2(instantiate, win); - ic2.icon_set("folder"); - ic2.scalable_set(false, false); // FIXME: C++ part API needs special reference handling! This will show ERR! efl::eo::downcast(sl2.part_get("elm.swallow.end")) - .content_set(ic2); + .content_set(ic); sl2.hint_fill_set(true, false); bx.pack_end(sl2); --
[EGIT] [core/efl] master 02/02: examples: remove data parameter of efl_loop_promise_new
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a44399fc5d708745817f0545aad1dc1e69e9f184 commit a44399fc5d708745817f0545aad1dc1e69e9f184 Author: Jaehyun Cho Date: Thu Jan 24 13:27:50 2019 +0900 examples: remove data parameter of efl_loop_promise_new Build error is fixed by removing data parameter of efl_loop_promise_new. This patch is for 563f91eaf98fff474a4858f2d81c6374f0d777b9 --- src/examples/ecore/ecore_promise2_example.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/examples/ecore/ecore_promise2_example.c b/src/examples/ecore/ecore_promise2_example.c index 7ddb426b1a..bdf153d7ba 100644 --- a/src/examples/ecore/ecore_promise2_example.c +++ b/src/examples/ecore/ecore_promise2_example.c @@ -58,7 +58,7 @@ _promise_ctx_new(Efl_Loop *loop, Eina_Value *v) Ctx *ctx; ctx = calloc(1, sizeof(Ctx)); EINA_SAFETY_ON_NULL_GOTO(ctx, err_ctx); - ctx->p = efl_loop_promise_new(loop, NULL); + ctx->p = efl_loop_promise_new(loop); EINA_SAFETY_ON_NULL_GOTO(ctx->p, err_timer); ctx->value = v; return ctx; --
[EGIT] [core/efl] master 01/02: examples: fix edc build error
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=298d095bc70848167022433ca1f26098d5f3171f commit 298d095bc70848167022433ca1f26098d5f3171f Author: Jaehyun Cho Date: Thu Jan 24 13:27:24 2019 +0900 examples: fix edc build error The state changes which set non-exist state are removed. Missing states are added. Incorrect state value is fixed. --- src/examples/elementary/efl_ui_list_view_example.edc | 2 +- src/examples/elementary/evas3d_map_example.edc | 14 ++ 2 files changed, 7 insertions(+), 9 deletions(-) diff --git a/src/examples/elementary/efl_ui_list_view_example.edc b/src/examples/elementary/efl_ui_list_view_example.edc index 75bafe1b83..1957fbf6a3 100644 --- a/src/examples/elementary/efl_ui_list_view_example.edc +++ b/src/examples/elementary/efl_ui_list_view_example.edc @@ -35,7 +35,7 @@ group { } program { signal: "efl,state,odd"; source: "efl"; - action: STATE_SET "odd" 1.0; + action: STATE_SET "odd" 0.0; target: "base"; } program { diff --git a/src/examples/elementary/evas3d_map_example.edc b/src/examples/elementary/evas3d_map_example.edc index 06a409dc60..2d4573a788 100644 --- a/src/examples/elementary/evas3d_map_example.edc +++ b/src/examples/elementary/evas3d_map_example.edc @@ -166,6 +166,9 @@ group { name: "elm/scroller/base/evas3d"; inherit: "default" 0.0; min: 0 0; } + description { state: "clicked" 0.0; +inherit: "default" 0.0; + } } part { name: "sb_vbar_a1"; type: RECT; clip_to: "sb_vbar"; @@ -224,7 +227,6 @@ group { name: "elm/scroller/base/evas3d"; program { signal: "mouse,down,1*"; source: "sb_vbar_a1"; action: STATE_SET "clicked" 0.0; - target: "sb_vbar_a1"; target: "arrow1_vbar"; } program { @@ -235,13 +237,11 @@ group { name: "elm/scroller/base/evas3d"; program { signal: "mouse,up,1"; source: "sb_vbar_a1"; action: STATE_SET "default" 0.0; - target: "sb_vbar_a1"; target: "arrow1_vbar"; } program { signal: "mouse,down,1*"; source: "sb_vbar_a2"; action: STATE_SET "clicked" 0.0; - target: "sb_vbar_a2"; target: "arrow2_vbar"; } program { @@ -252,7 +252,6 @@ group { name: "elm/scroller/base/evas3d"; program { signal: "mouse,up,1"; source: "sb_vbar_a2"; action: STATE_SET "default" 0.0; - target: "sb_vbar_a2"; target: "arrow2_vbar"; } program { @@ -344,6 +343,9 @@ group { name: "elm/scroller/base/evas3d"; inherit: "default" 0.0; min: 0 0; } + description { state: "clicked" 0.0; +inherit: "default" 0.0; + } } part { name: "sb_hbar_a1"; type: RECT; clip_to: "sb_hbar"; @@ -402,7 +404,6 @@ group { name: "elm/scroller/base/evas3d"; program { signal: "mouse,down,1*"; source: "sb_hbar_a1"; action: STATE_SET "clicked" 0.0; - target: "sb_hbar_a1"; target: "arrow1_hbar"; } program { @@ -413,13 +414,11 @@ group { name: "elm/scroller/base/evas3d"; program { signal: "mouse,up,1"; source: "sb_hbar_a1"; action: STATE_SET "default" 0.0; - target: "sb_hbar_a1"; target: "arrow1_hbar"; } program { signal: "mouse,down,1*"; source: "sb_hbar_a2"; action: STATE_SET "clicked" 0.0; - target: "sb_hbar_a2"; target: "arrow2_hbar"; } program { @@ -430,7 +429,6 @@ group { name: "elm/scroller/base/evas3d"; program { signal: "mouse,up,1"; source: "sb_hbar_a2"; action: STATE_SET "default" 0.0; - target: "sb_hbar_a2"; target: "arrow2_hbar"; } program { --
[EGIT] [core/efl] master 01/01: efl_mono: remove '_' from type for C# naming convention
felipealmeida pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=81317305e03903ffc01e3dc7a621bc0e06ea1bda commit 81317305e03903ffc01e3dc7a621bc0e06ea1bda Author: Jaehyun Cho Date: Mon Jan 14 15:21:21 2019 +0900 efl_mono: remove '_' from type for C# naming convention Summary: "type" in .eo is converted to "struct" in .eo.cs. Since the type name in .eo is the same with the struct name .eo.cs, '_' is removed from the converted struct in .eo.cs for C# naming convention. For example, Efl.Callback_Priority is defined in efl_object.eo and the name is converted to Efl.CallbackPriority in efl_object.eo.cs. Efl.Access.StateSet in workaround.cs causes duplicated definition with this patch so Efl.Access.StateSet in workaround.cs is removed. Test Plan: Compile with autogen.sh --enable-csharp-bindings Reviewers: lauromoura, segfaultxavi, felipealmeida Reviewed By: felipealmeida Subscribers: segfaultxavi, cedric, #reviewers, #committers, woohyun Tags: #efl Differential Revision: https://phab.enlightenment.org/D7597 --- src/bin/eolian_mono/eolian/mono/alias_definition.hh | 2 +- src/bin/eolian_mono/eolian/mono/name_helpers.hh | 4 +++- src/bindings/mono/eo_mono/workaround.cs | 13 - 3 files changed, 4 insertions(+), 15 deletions(-) diff --git a/src/bin/eolian_mono/eolian/mono/alias_definition.hh b/src/bin/eolian_mono/eolian/mono/alias_definition.hh index 91659fb7bd..cf9d3495ce 100644 --- a/src/bin/eolian_mono/eolian/mono/alias_definition.hh +++ b/src/bin/eolian_mono/eolian/mono/alias_definition.hh @@ -33,7 +33,7 @@ struct alias_definition_generator if (!name_helpers::open_namespaces(sink, alias.namespaces, context)) return false; - std::string const& alias_name = alias.eolian_name; + std::string const alias_name = utils::remove_all(alias.eolian_name, '_'); if (!as_generator( "public struct " << alias_name << " {\n" << scope_tab << "private " << type << " payload;\n" diff --git a/src/bin/eolian_mono/eolian/mono/name_helpers.hh b/src/bin/eolian_mono/eolian/mono/name_helpers.hh index 79aa5b47ae..801d721008 100644 --- a/src/bin/eolian_mono/eolian/mono/name_helpers.hh +++ b/src/bin/eolian_mono/eolian/mono/name_helpers.hh @@ -194,7 +194,9 @@ inline std::string managed_method_name(attributes::function_def const& f) inline std::string alias_full_eolian_name(attributes::alias_def const& alias) { - return join_namespaces(alias.namespaces, '.') + alias.eolian_name; + + std::string eolian_name = utils::remove_all(alias.eolian_name, '_'); + return join_namespaces(alias.namespaces, '.') + eolian_name; } inline std::string managed_async_method_name(attributes::function_def const& f) diff --git a/src/bindings/mono/eo_mono/workaround.cs b/src/bindings/mono/eo_mono/workaround.cs index 1fa3889d48..99fb53b7e4 100644 --- a/src/bindings/mono/eo_mono/workaround.cs +++ b/src/bindings/mono/eo_mono/workaround.cs @@ -134,19 +134,6 @@ public struct ActionData { public IntPtr func; } -public struct StateSet { -private ulong val; - -public static implicit operator StateSet(ulong x) -{ -return new StateSet{val=x}; -} -public static implicit operator ulong(StateSet x) -{ -return x.val; -} -} - } // namespace Access } // namespace Efl --
[EGIT] [core/efl] master 01/01: evas textblock update calculation - account for clipped color changes
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=766f8151fc20c4c2859844d7a6bcefa92210ed43 commit 766f8151fc20c4c2859844d7a6bcefa92210ed43 Author: Jaehyun Cho Date: Fri Jan 11 11:17:12 2019 +0900 evas textblock update calculation - account for clipped color changes if clipped color changed and not object color on textblock objects, then the updates could be missed. This bug seems to have been here a while unnoticed. This patch refers the patch 4e044fd9c27db61d792319ce566e1d3eacb553f2. --- src/lib/evas/canvas/evas_object_textblock.c | 6 +- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/lib/evas/canvas/evas_object_textblock.c b/src/lib/evas/canvas/evas_object_textblock.c index 0a79e30472..37932a1d62 100644 --- a/src/lib/evas/canvas/evas_object_textblock.c +++ b/src/lib/evas/canvas/evas_object_textblock.c @@ -14858,7 +14858,11 @@ evas_object_textblock_render_pre(Evas_Object *eo_obj, if ((obj->cur->color.r != obj->prev->color.r) || (obj->cur->color.g != obj->prev->color.g) || (obj->cur->color.b != obj->prev->color.b) || - (obj->cur->color.a != obj->prev->color.a)) + (obj->cur->color.a != obj->prev->color.a) || + (obj->cur->cache.clip.r != obj->prev->cache.clip.r) || + (obj->cur->cache.clip.g != obj->prev->cache.clip.g) || + (obj->cur->cache.clip.b != obj->prev->cache.clip.b) || + (obj->cur->cache.clip.a != obj->prev->cache.clip.a)) { evas_object_render_pre_prev_cur_add(>layer->evas->clip_changes, eo_obj, obj); --
[EGIT] [core/efl] master 01/01: efreet: fix build error by using PACKAGE_SYSCONF_DIR
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=334b2a1ab16bae15bb49520f6d92c6f84397a395 commit 334b2a1ab16bae15bb49520f6d92c6f84397a395 Author: Jaehyun Cho Date: Fri Jan 4 15:11:08 2019 +0900 efreet: fix build error by using PACKAGE_SYSCONF_DIR This patch fixes build error of make build by applying 0d7f20bbc63da62bbd7af9ae92c38ecc034ec213. meson build defines PACKAGE_SYSCONF_DIR so there is no build error but make build did not define it. --- src/Makefile_Efreet.am | 1 + 1 file changed, 1 insertion(+) diff --git a/src/Makefile_Efreet.am b/src/Makefile_Efreet.am index e429273962..a8aa02ff2f 100644 --- a/src/Makefile_Efreet.am +++ b/src/Makefile_Efreet.am @@ -12,6 +12,7 @@ EFREET_COMMON_CPPFLAGS = -I$(top_builddir)/src/lib/efl \ -DPACKAGE_DATA_DIR=\"$(datadir)/efreet\" \ -DPACKAGE_BUILD_DIR=\"$(abs_top_builddir)\" \ -DPACKAGE_SRC_DIR=\"$(abs_top_srcdir)\" \ +-DPACKAGE_SYSCONF_DIR=\"$(sysconfdir)\" \ -DDATA_DIR=\"$(datadir)\" \ -DLOCALE_DIR=\"@LOCALE_DIR@\" \ @EFREET_CFLAGS@ --
[EGIT] [core/efl] master 01/01: ecore: fix build by having proper parameters order.
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=abad5cb5c877a04bebbe6ed6e2fb06c7f45ce0b1 commit abad5cb5c877a04bebbe6ed6e2fb06c7f45ce0b1 Author: Jaehyun Cho Date: Wed Jan 2 15:04:50 2019 +0900 ecore: fix build by having proper parameters order. --- src/examples/ecore/ecore_promise2_example.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/examples/ecore/ecore_promise2_example.c b/src/examples/ecore/ecore_promise2_example.c index f99ef7815c..d10acf0450 100644 --- a/src/examples/ecore/ecore_promise2_example.c +++ b/src/examples/ecore/ecore_promise2_example.c @@ -56,7 +56,7 @@ _promise_ctx_new(Efl_Loop *loop, Eina_Value *v) Ctx *ctx; ctx = calloc(1, sizeof(Ctx)); EINA_SAFETY_ON_NULL_GOTO(ctx, err_ctx); - ctx->p = efl_loop_promise_new(loop, _promise_cancel, ctx); + ctx->p = efl_loop_promise_new(loop, ctx, _promise_cancel, NULL); EINA_SAFETY_ON_NULL_GOTO(ctx->p, err_timer); ctx->value = v; return ctx; --
[EGIT] [core/efl] master 01/01: efl_canvas_surface: change mixin to abstract
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=7a5589b14a97ccd2db1511f38e368f07236f31e2 commit 7a5589b14a97ccd2db1511f38e368f07236f31e2 Author: Jaehyun Cho Date: Tue Dec 18 11:17:12 2018 +0900 efl_canvas_surface: change mixin to abstract Summary: If Efl.Canvas.Surface is changed from mixin to abstract, then its sub classes do not need to inherit from Efl.Object to be a class. Moreover, Efl.Canvas.Surface's data can be derived to its sub classes easily. Reviewers: jpeg, segfaultxavi, woohyun, Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7411 --- src/lib/evas/canvas/efl_canvas_surface.c | 2 +- src/lib/evas/canvas/efl_canvas_surface.eo | 2 +- src/lib/evas/canvas/efl_canvas_surface_tbm.c | 23 ++-- src/lib/evas/canvas/efl_canvas_surface_tbm.eo | 2 +- src/lib/evas/canvas/efl_canvas_surface_wayland.c | 23 ++-- src/lib/evas/canvas/efl_canvas_surface_wayland.eo | 2 +- src/lib/evas/canvas/efl_canvas_surface_x11.c | 26 --- src/lib/evas/canvas/efl_canvas_surface_x11.eo | 2 +- 8 files changed, 43 insertions(+), 39 deletions(-) diff --git a/src/lib/evas/canvas/efl_canvas_surface.c b/src/lib/evas/canvas/efl_canvas_surface.c index a9993829b7..bc61a55815 100644 --- a/src/lib/evas/canvas/efl_canvas_surface.c +++ b/src/lib/evas/canvas/efl_canvas_surface.c @@ -1,6 +1,6 @@ #include "efl_canvas_surface.h" -#define MY_CLASS EFL_CANVAS_SURFACE_MIXIN +#define MY_CLASS EFL_CANVAS_SURFACE_CLASS EOLIAN static Eo * _efl_canvas_surface_efl_object_constructor(Eo *eo, Efl_Canvas_Surface_Data *pd) diff --git a/src/lib/evas/canvas/efl_canvas_surface.eo b/src/lib/evas/canvas/efl_canvas_surface.eo index 5a113f333b..8946b20efa 100644 --- a/src/lib/evas/canvas/efl_canvas_surface.eo +++ b/src/lib/evas/canvas/efl_canvas_surface.eo @@ -1,4 +1,4 @@ -mixin Efl.Canvas.Surface (Efl.Interface, Efl.Canvas.Image_Internal) +abstract Efl.Canvas.Surface (Efl.Canvas.Image_Internal) { [[Native surfaces usually bound to an externally-managed buffer. diff --git a/src/lib/evas/canvas/efl_canvas_surface_tbm.c b/src/lib/evas/canvas/efl_canvas_surface_tbm.c index 33ed98e2bf..a0524e48e9 100644 --- a/src/lib/evas/canvas/efl_canvas_surface_tbm.c +++ b/src/lib/evas/canvas/efl_canvas_surface_tbm.c @@ -4,13 +4,13 @@ typedef struct _Efl_Canvas_Surface_Tbm_Data { - Efl_Canvas_Surface_Data *base; } Efl_Canvas_Surface_Tbm_Data; EOLIAN static Eo * -_efl_canvas_surface_tbm_efl_object_constructor(Eo *eo, Efl_Canvas_Surface_Tbm_Data *pd) +_efl_canvas_surface_tbm_efl_object_constructor(Eo *eo, Efl_Canvas_Surface_Tbm_Data *pd EINA_UNUSED) { Evas_Object_Protected_Data *obj; + Efl_Canvas_Surface_Data *sd; eo = efl_constructor(efl_super(eo, MY_CLASS)); obj = efl_data_scope_get(eo, EFL_CANVAS_OBJECT_CLASS); @@ -22,34 +22,35 @@ _efl_canvas_surface_tbm_efl_object_constructor(Eo *eo, Efl_Canvas_Surface_Tbm_Da return NULL; } - pd->base = efl_data_ref(eo, EFL_CANVAS_SURFACE_MIXIN); - pd->base->surf.type = EVAS_NATIVE_SURFACE_TBM; + sd = efl_data_scope_get(eo, EFL_CANVAS_SURFACE_CLASS); + sd->surf.type = EVAS_NATIVE_SURFACE_TBM; return eo; } EOLIAN static void -_efl_canvas_surface_tbm_efl_object_destructor(Eo *eo, Efl_Canvas_Surface_Tbm_Data *pd) +_efl_canvas_surface_tbm_efl_object_destructor(Eo *eo, Efl_Canvas_Surface_Tbm_Data *pd EINA_UNUSED) { Evas_Object_Protected_Data *obj; obj = efl_data_scope_get(eo, EFL_CANVAS_OBJECT_CLASS); ENFN->image_native_shutdown(ENC, EVAS_NATIVE_SURFACE_TBM); - efl_data_unref(eo, pd->base); efl_destructor(eo); } EOLIAN static Eina_Bool -_efl_canvas_surface_tbm_efl_canvas_surface_native_buffer_set(Eo *eo, Efl_Canvas_Surface_Tbm_Data *pd, void *buffer) +_efl_canvas_surface_tbm_efl_canvas_surface_native_buffer_set(Eo *eo, Efl_Canvas_Surface_Tbm_Data *pd EINA_UNUSED, void *buffer) { - pd->base->surf.data.tbm.buffer = buffer; - if (!_evas_image_native_surface_set(eo, >base->surf)) + Efl_Canvas_Surface_Data *sd = efl_data_scope_get(eo, EFL_CANVAS_SURFACE_CLASS); + + sd->surf.data.tbm.buffer = buffer; + if (!_evas_image_native_surface_set(eo, >surf)) { ERR("failed to set native buffer"); -pd->base->buffer = NULL; +sd->buffer = NULL; return EINA_FALSE; } - pd->base->buffer = buffer; + sd->buffer = buffer; return EINA_TRUE; } diff --git a/src/lib/evas/canvas/efl_canvas_surface_tbm.eo b/src/lib/evas/canvas/efl_canvas_surface_tbm.eo index 89b255cb47..7a3a8ee56f 100644 --- a/src/lib/evas/canvas/efl_canvas_surface_tbm.eo +++ b/src/lib/evas/canvas/efl_canvas_surface_tbm.eo @@ -1,4 +1,4 @@ -class Efl.Canvas.Surface_Tbm (Efl.Obj
[EGIT] [core/efl] master 01/01: eolian_mono: use System.Type explicitly
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=01864e166b823a27093cdb68917ade43289a0b58 commit 01864e166b823a27093cdb68917ade43289a0b58 Author: Jaehyun Cho Date: Mon Dec 17 19:35:04 2018 +0900 eolian_mono: use System.Type explicitly Previously, "Type" was used with "using System". However, it caused ambiguity if some classes had "Type" property. Therefore, "System.Type" is used explicitly to remove ambiguity. --- src/bin/eolian_mono/eolian/mono/klass.hh | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/src/bin/eolian_mono/eolian/mono/klass.hh b/src/bin/eolian_mono/eolian/mono/klass.hh index 90133291a8..907ac97ad1 100644 --- a/src/bin/eolian_mono/eolian/mono/klass.hh +++ b/src/bin/eolian_mono/eolian/mono/klass.hh @@ -528,7 +528,7 @@ struct klass << scope_tab << "}\n" << scope_tab << "///Internal constructor to forward the wrapper initialization to the root class.\n" - << scope_tab << "protected " << inherit_name << "(Efl.Eo.Globals.class_initializer class_initializer, String klass_name, IntPtr base_klass, Type managed_type, Efl.Object parent, ref IntPtr target_klass) : base(class_initializer, klass_name, base_klass, managed_type, parent, ref target_klass) {}\n" + << scope_tab << "protected " << inherit_name << "(Efl.Eo.Globals.class_initializer class_initializer, String klass_name, IntPtr base_klass, System.Type managed_type, Efl.Object parent, ref IntPtr target_klass) : base(class_initializer, klass_name, base_klass, managed_type, parent, ref target_klass) {}\n" << scope_tab << "///Constructs an instance from a native pointer.\n" << scope_tab << "public " << inherit_name << "(System.IntPtr raw)" << (root ? "" : " : base(raw)") << "\n" @@ -552,7 +552,7 @@ struct klass << scope_tab << scope_tab << "FinishInstantiation();\n" << scope_tab << "}\n" - << scope_tab << "protected " << inherit_name << "(Efl.Eo.Globals.class_initializer class_initializer, String klass_name, IntPtr base_klass, Type managed_type, Efl.Object parent, ref IntPtr target_klass)\n" + << scope_tab << "protected " << inherit_name << "(Efl.Eo.Globals.class_initializer class_initializer, String klass_name, IntPtr base_klass, System.Type managed_type, Efl.Object parent, ref IntPtr target_klass)\n" << scope_tab << "{\n" << scope_tab << scope_tab << "inherited = this.GetType() != managed_type;\n" << scope_tab << scope_tab << "IntPtr actual_klass = base_klass;\n" --
[EGIT] [core/efl] master 01/01: efl_ui_win: enable bg color set although alpha is set
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=df216a4f1d9793f001fc48c56c3bbbc49aed97b4 commit df216a4f1d9793f001fc48c56c3bbbc49aed97b4 Author: Jaehyun Cho Date: Wed Dec 5 10:35:30 2018 +0900 efl_ui_win: enable bg color set although alpha is set Summary: This patch sets background transparent if window supports alpha. If alpha window does not emit signal to show background rectangle, then the background color set by _efl_ui_win_part_color_set cannot be applied because the background rectangle remains hidden. This patch fixes the side effect of D6569. Test Plan: Run Efl.Ui.Win (Bg part) in elementary_test. Reviewers: zmike, devilhorns, woohyun Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7302 --- src/lib/elementary/efl_ui_win.c | 9 - 1 file changed, 8 insertions(+), 1 deletion(-) diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index 535316119e..1e12b46702 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c @@ -4659,11 +4659,18 @@ _elm_win_frame_style_update(Efl_Ui_Win_Data *sd, Eina_Bool force_emit, Eina_Bool else #endif focus = ecore_evas_focus_get(sd->ee); - bg_solid = sd->csd.need_bg_solid && (!alpha); bg_standard = sd->csd.need_bg_standard; unresizable = sd->csd.need_unresizable; menu = sd->csd.need_menu; indicator = sd->csd.need_indicator; + bg_solid = sd->csd.need_bg_solid; + /* Set background transparent if window supports alpha. +* If alpha window does not emit signal to show background rectangle, then +* the background color set by _efl_ui_win_part_color_set cannot be applied +* because the background rectangle remains hidden. +*/ + if (alpha && bg_solid && !(sd->csd.cur_bg_solid)) + edje_object_color_class_set(sd->frame_obj, "elm/win/background", 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0); /* FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME FIXME * At the moment, E Wayland uses SSD for its internal windows. Which means --
[EGIT] [core/efl] master 02/02: efl_interpolator: rename subclasses of Efl.Interpolator
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=f3eb8d6441af396e61842cb83b9ac7b3af34f527 commit f3eb8d6441af396e61842cb83b9ac7b3af34f527 Author: Jaehyun Cho Date: Fri Nov 23 21:26:00 2018 +0900 efl_interpolator: rename subclasses of Efl.Interpolator Subclasses of Efl.Interpolator are renamed intuitively from backward order to forward order. --- src/Makefile_Ecore.am | 32 ++--- src/bin/elementary/test_efl_anim_interpolator.c| 26 +- src/lib/ecore/CMakeLists.txt | 16 +++ src/lib/ecore/Ecore_Eo.h | 16 +++ src/lib/ecore/efl_accelerate_interpolator.c| 55 ++ ...ccelerate.eo => efl_accelerate_interpolator.eo} | 4 +- ...rpolator_bounce.c => efl_bounce_interpolator.c} | 24 +- ...olator_bounce.eo => efl_bounce_interpolator.eo} | 4 +- ...ic_bezier.c => efl_cubic_bezier_interpolator.c} | 24 +- ..._bezier.eo => efl_cubic_bezier_interpolator.eo} | 4 +- src/lib/ecore/efl_decelerate_interpolator.c| 55 ++ ...ecelerate.eo => efl_decelerate_interpolator.eo} | 4 +- ...olator_divisor.c => efl_divisor_interpolator.c} | 24 +- ...ator_divisor.eo => efl_divisor_interpolator.eo} | 4 +- src/lib/ecore/efl_interpolator_accelerate.c| 55 -- src/lib/ecore/efl_interpolator_decelerate.c| 55 -- src/lib/ecore/efl_interpolator_linear.c| 27 --- src/lib/ecore/efl_interpolator_linear.eo | 8 src/lib/ecore/efl_interpolator_sinusoidal.c| 55 -- src/lib/ecore/efl_linear_interpolator.c| 27 +++ src/lib/ecore/efl_linear_interpolator.eo | 8 src/lib/ecore/efl_sinusoidal_interpolator.c| 55 ++ ...inusoidal.eo => efl_sinusoidal_interpolator.eo} | 4 +- ...rpolator_spring.c => efl_spring_interpolator.c} | 24 +- ...olator_spring.eo => efl_spring_interpolator.eo} | 4 +- src/lib/ecore/meson.build | 32 ++--- 26 files changed, 323 insertions(+), 323 deletions(-) diff --git a/src/Makefile_Ecore.am b/src/Makefile_Ecore.am index cb33da1688..661ccbf721 100644 --- a/src/Makefile_Ecore.am +++ b/src/Makefile_Ecore.am @@ -33,14 +33,14 @@ ecore_eolian_files_public = \ lib/ecore/efl_io_file.eo \ lib/ecore/efl_io_copier.eo \ lib/ecore/efl_io_buffered_stream.eo \ - lib/ecore/efl_interpolator_linear.eo \ - lib/ecore/efl_interpolator_accelerate.eo \ - lib/ecore/efl_interpolator_decelerate.eo \ - lib/ecore/efl_interpolator_sinusoidal.eo \ - lib/ecore/efl_interpolator_divisor.eo \ - lib/ecore/efl_interpolator_bounce.eo \ - lib/ecore/efl_interpolator_spring.eo \ - lib/ecore/efl_interpolator_cubic_bezier.eo \ + lib/ecore/efl_linear_interpolator.eo \ + lib/ecore/efl_accelerate_interpolator.eo \ + lib/ecore/efl_decelerate_interpolator.eo \ + lib/ecore/efl_sinusoidal_interpolator.eo \ + lib/ecore/efl_divisor_interpolator.eo \ + lib/ecore/efl_bounce_interpolator.eo \ + lib/ecore/efl_spring_interpolator.eo \ + lib/ecore/efl_cubic_bezier_interpolator.eo \ lib/ecore/efl_model_item.eo \ lib/ecore/efl_model_container.eo \ lib/ecore/efl_model_container_item.eo \ @@ -126,14 +126,14 @@ lib/ecore/efl_model_composite_boolean.c \ lib/ecore/efl_model_composite_selection.c \ lib/ecore/efl_model_accessor_view.c \ lib/ecore/efl_model_accessor_view_private.h \ -lib/ecore/efl_interpolator_linear.c \ -lib/ecore/efl_interpolator_accelerate.c \ -lib/ecore/efl_interpolator_decelerate.c \ -lib/ecore/efl_interpolator_sinusoidal.c \ -lib/ecore/efl_interpolator_divisor.c \ -lib/ecore/efl_interpolator_bounce.c \ -lib/ecore/efl_interpolator_spring.c \ -lib/ecore/efl_interpolator_cubic_bezier.c \ +lib/ecore/efl_linear_interpolator.c \ +lib/ecore/efl_accelerate_interpolator.c \ +lib/ecore/efl_decelerate_interpolator.c \ +lib/ecore/efl_sinusoidal_interpolator.c \ +lib/ecore/efl_divisor_interpolator.c \ +lib/ecore/efl_bounce_interpolator.c \ +lib/ecore/efl_spring_interpolator.c \ +lib/ecore/efl_cubic_bezier_interpolator.c \ lib/ecore/efl_task.c \ lib/ecore/efl_exe.c \ lib/ecore/efl_thread.c \ diff --git a/src/bin/elementary/test_efl_anim_interpolator.c b/src/bin/elementary/test_efl_anim_interpolator.c index 66e9004fb7..2eb30f69cf 100644 --- a/src/bin/elementary/test_efl_anim_interpolator.c +++ b/src/bin/elementary/test_efl_anim_interpolator.c @@ -28,37 +28,37 @@ _interpolator_create(int index, Evas_Object *win) if (index == 0) { -interp = efl_add(EFL_INTERPOLATOR_LINEAR_CLASS, win); +interp = efl_add(EFL_LINEAR_INTERPOLATOR_CLASS, win); } else if (index == 1)
[EGIT] [core/efl] master 01/02: efl_interpolator: change Efl.Interpolator class to interface
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6cc7c1b83043ee0fed40a6bd130b56a8516ecf60 commit 6cc7c1b83043ee0fed40a6bd130b56a8516ecf60 Author: Jaehyun Cho Date: Fri Nov 23 19:30:36 2018 +0900 efl_interpolator: change Efl.Interpolator class to interface Since Efl.Interpolator's subclasses are used as interpolator class, Efl.Interpolator class is changed to be an interface. This change allows Efl.Canvas.Animation to have Efl.Interpolator as its property in efl_canvas_animation.eo. --- src/Makefile_Ecore.am | 2 -- src/Makefile_Efl.am| 1 + src/lib/ecore/CMakeLists.txt | 1 - src/lib/ecore/Ecore_Eo.h | 1 - src/lib/ecore/efl_interpolator.c | 24 -- src/lib/ecore/efl_interpolator_accelerate.eo | 2 +- src/lib/ecore/efl_interpolator_bounce.eo | 2 +- src/lib/ecore/efl_interpolator_cubic_bezier.eo | 2 +- src/lib/ecore/efl_interpolator_decelerate.eo | 2 +- src/lib/ecore/efl_interpolator_divisor.eo | 2 +- src/lib/ecore/efl_interpolator_linear.eo | 2 +- src/lib/ecore/efl_interpolator_sinusoidal.eo | 2 +- src/lib/ecore/efl_interpolator_spring.eo | 2 +- src/lib/ecore/meson.build | 2 -- src/lib/efl/CMakeLists.txt | 1 + src/lib/efl/Efl.h | 1 + src/lib/efl/interfaces/efl_interfaces_main.c | 1 + .../{ecore => efl/interfaces}/efl_interpolator.eo | 5 ++--- src/lib/efl/interfaces/meson.build | 1 + src/lib/evas/canvas/efl_canvas_animation.eo| 2 +- 20 files changed, 16 insertions(+), 42 deletions(-) diff --git a/src/Makefile_Ecore.am b/src/Makefile_Ecore.am index b71652738e..cb33da1688 100644 --- a/src/Makefile_Ecore.am +++ b/src/Makefile_Ecore.am @@ -33,7 +33,6 @@ ecore_eolian_files_public = \ lib/ecore/efl_io_file.eo \ lib/ecore/efl_io_copier.eo \ lib/ecore/efl_io_buffered_stream.eo \ - lib/ecore/efl_interpolator.eo \ lib/ecore/efl_interpolator_linear.eo \ lib/ecore/efl_interpolator_accelerate.eo \ lib/ecore/efl_interpolator_decelerate.eo \ @@ -127,7 +126,6 @@ lib/ecore/efl_model_composite_boolean.c \ lib/ecore/efl_model_composite_selection.c \ lib/ecore/efl_model_accessor_view.c \ lib/ecore/efl_model_accessor_view_private.h \ -lib/ecore/efl_interpolator.c \ lib/ecore/efl_interpolator_linear.c \ lib/ecore/efl_interpolator_accelerate.c \ lib/ecore/efl_interpolator_decelerate.c \ diff --git a/src/Makefile_Efl.am b/src/Makefile_Efl.am index 551e907796..8234cadddf 100644 --- a/src/Makefile_Efl.am +++ b/src/Makefile_Efl.am @@ -77,6 +77,7 @@ efl_eolian_files = \ lib/efl/interfaces/efl_gfx_color_class.eo \ lib/efl/interfaces/efl_gfx_text_class.eo \ lib/efl/interfaces/efl_gfx_size_class.eo \ + lib/efl/interfaces/efl_interpolator.eo \ $(efl_eolian_legacy_files) \ $(NULL) diff --git a/src/lib/ecore/CMakeLists.txt b/src/lib/ecore/CMakeLists.txt index 01a05a8aa8..e4735420a0 100644 --- a/src/lib/ecore/CMakeLists.txt +++ b/src/lib/ecore/CMakeLists.txt @@ -38,7 +38,6 @@ set(PUBLIC_EO_FILES efl_loop_timer.eo efl_loop_user.eo efl_promise.eo - efl_interpolator.eo efl_interpolator_linear.eo efl_interpolator_accelerate.eo efl_interpolator_decelerate.eo diff --git a/src/lib/ecore/Ecore_Eo.h b/src/lib/ecore/Ecore_Eo.h index 26a5834b6f..cb01dec865 100644 --- a/src/lib/ecore/Ecore_Eo.h +++ b/src/lib/ecore/Ecore_Eo.h @@ -78,7 +78,6 @@ EAPI Eina_Promise *efl_loop_promise_new(const Eo *obj, Eina_Promise_Cancel_Cb ca #include "efl_loop_fd.eo.h" #include "efl_loop_handler.eo.h" -#include "efl_interpolator.eo.h" #include "efl_interpolator_linear.eo.h" #include "efl_interpolator_accelerate.eo.h" #include "efl_interpolator_decelerate.eo.h" diff --git a/src/lib/ecore/efl_interpolator.c b/src/lib/ecore/efl_interpolator.c deleted file mode 100644 index 573d5c5cf9..00 --- a/src/lib/ecore/efl_interpolator.c +++ /dev/null @@ -1,24 +0,0 @@ -#ifdef HAVE_CONFIG_H -# include -#endif - -#include "Ecore.h" -#include "ecore_private.h" - -#define MY_CLASS EFL_INTERPOLATOR_CLASS - -typedef struct _Efl_Interpolator_Data Efl_Interpolator_Data; - -struct _Efl_Interpolator_Data -{ -}; - -EOLIAN static double -_efl_interpolator_interpolate(Eo *eo_obj EINA_UNUSED, - Efl_Interpolator_Data *pd EINA_UNUSED, - double progress) -{ - return progress; -} - -#include "efl_interpolator.eo.c" diff --git a/src/lib/ecore/efl_interpolator_accelerate.eo b/src/lib/ecore/efl_interpolator_accelerate.eo index dc087a5b67..3f2ef94b35 100644 --- a/src/lib/ecore/efl_interpo
[EGIT] [core/efl] master 01/01: efl_ui_theme: Introduce Efl.Ui.Theme class
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=4f9c8d524c77fdd9eed30dc9ce211e0037efb9d4 commit 4f9c8d524c77fdd9eed30dc9ce211e0037efb9d4 Author: Jaehyun Cho Date: Tue Nov 20 13:56:37 2018 +0900 efl_ui_theme: Introduce Efl.Ui.Theme class Summary: Efl.Ui.Theme class is required to support language bindings. Efl.Ui.Theme works based on current elm_theme features. This patch fixes T7357. Reviewers: segfaultxavi, cedric, lauromoura, woohyun, zmike, SanghyeonLee Reviewed By: segfaultxavi, SanghyeonLee Subscribers: SanghyeonLee, herdsman, #reviewers, #committers Tags: #efl Maniphest Tasks: T7357 Differential Revision: https://phab.enlightenment.org/D7244 --- src/Makefile_Elementary.am| 1 + src/examples/elementary.mk| 11 +- src/examples/elementary/efl_ui_theme_example.edc | 190 ++ src/examples/elementary/efl_ui_theme_example_01.c | 84 +++ src/examples/elementary/efl_ui_theme_example_02.c | 84 +++ src/lib/elementary/Efl_Ui.h | 1 + src/lib/elementary/Elementary.h | 1 + src/lib/elementary/efl_ui.eot | 4 +- src/lib/elementary/efl_ui_button.c| 6 +- src/lib/elementary/efl_ui_calendar.c | 6 +- src/lib/elementary/efl_ui_check.c | 14 +- src/lib/elementary/efl_ui_clock.c | 6 +- src/lib/elementary/efl_ui_flip.c | 6 +- src/lib/elementary/efl_ui_image.c | 6 +- src/lib/elementary/efl_ui_image_zoomable.c| 6 +- src/lib/elementary/efl_ui_layout.c| 32 +-- src/lib/elementary/efl_ui_layout.eo | 4 +- src/lib/elementary/efl_ui_list.c | 10 +- src/lib/elementary/efl_ui_list_default_item.c | 4 +- src/lib/elementary/efl_ui_list_empty_item.c | 4 +- src/lib/elementary/efl_ui_nstate.c| 6 +- src/lib/elementary/efl_ui_panes.c | 6 +- src/lib/elementary/efl_ui_progressbar.c | 14 +- src/lib/elementary/efl_ui_radio.c | 14 +- src/lib/elementary/efl_ui_scroller.c | 6 +- src/lib/elementary/efl_ui_slider.c| 8 +- src/lib/elementary/efl_ui_spin_button.c | 8 +- src/lib/elementary/efl_ui_tab_bar.c | 4 +- src/lib/elementary/efl_ui_table.c | 6 +- src/lib/elementary/efl_ui_text.c | 6 +- src/lib/elementary/efl_ui_textpath.c | 6 +- src/lib/elementary/efl_ui_theme.eo| 71 ++ src/lib/elementary/efl_ui_widget.c| 30 +-- src/lib/elementary/efl_ui_widget.eo | 6 +- src/lib/elementary/efl_ui_win.c | 18 +- src/lib/elementary/elc_combobox.c | 8 +- src/lib/elementary/elc_ctxpopup.c | 6 +- src/lib/elementary/elc_fileselector.c | 6 +- src/lib/elementary/elc_fileselector_button.c | 8 +- src/lib/elementary/elc_fileselector_entry.c | 8 +- src/lib/elementary/elc_hoversel.c | 8 +- src/lib/elementary/elc_multibuttonentry.c | 6 +- src/lib/elementary/elc_naviframe.c| 4 +- src/lib/elementary/elc_player.c | 6 +- src/lib/elementary/elc_popup.c| 4 +- src/lib/elementary/elm_actionslider.c | 8 +- src/lib/elementary/elm_box.c | 8 +- src/lib/elementary/elm_calendar.c | 6 +- src/lib/elementary/elm_clock.c| 6 +- src/lib/elementary/elm_code_widget.c | 6 +- src/lib/elementary/elm_colorselector.c| 8 +- src/lib/elementary/elm_conform.c | 6 +- src/lib/elementary/elm_dayselector.c | 6 +- src/lib/elementary/elm_diskselector.c | 6 +- src/lib/elementary/elm_entry.c| 10 +- src/lib/elementary/elm_flipselector.c | 8 +- src/lib/elementary/elm_gengrid.c | 10 +- src/lib/elementary/elm_genlist.c | 10 +- src/lib/elementary/elm_grid.c | 6 +- src/lib/elementary/elm_hover.c| 6 +- src/lib/elementary/elm_icon.c | 6 +- src/lib/elementary/elm_index.c| 6 +- src/lib/elementary/elm_label.c| 8 +- src/lib/elementary/elm_list.c | 6 +- src/lib/elementary/elm_main.c | 2 + src/lib/elementary/elm_map.c | 8 +- src/lib/elementary/elm_mapbuf.c | 6 +- src/lib/elementary/elm_menu.c | 6 +- src/lib/elementary/elm_notify.c | 8 +- src/lib/elementary/elm_panel.c
[EGIT] [core/efl] master 01/01: efl_ui_bg: remove Efl.Ui.Bg interface and rename Efl.Ui.Bg_Widget class
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=0611620301b3ada285bc48fc801cac2c5ba3e0a7 commit 0611620301b3ada285bc48fc801cac2c5ba3e0a7 Author: Jaehyun Cho Date: Tue Nov 20 10:24:05 2018 +0900 efl_ui_bg: remove Efl.Ui.Bg interface and rename Efl.Ui.Bg_Widget class Summary: Efl.Ui.Bg interface does not have any new property or method. Moreover, Efl.Ui.Bg interface is not used by widgets except Efl.Ui.Bg_Widget and Efl.Ui.Widget_Part_Bg. Consequently, Efl.Ui.Bg interface can be replaced by other interfaces. Due to Efl.Ui.Bg interface, the bg widget class name becomes Efl.UI.Bg_Widget which is not synchronized with other widget names. Therefore, to keep consistency with other widgets, it would be better to remove Efl.Ui.Bg interface and rename Efl.Ui.Bg_Widget to Efl.Ui.Bg. Reviewers: woohyun, segfaultxavi, bu5hm4n, zmike Reviewed By: segfaultxavi Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7304 --- src/Makefile_Elementary.am | 6 +- src/bin/elementary/test_bg.c | 4 +- src/bin/elementary/test_part_bg.c | 2 +- src/examples/elementary/bg_cxx_example_02.cc | 2 +- src/lib/elementary/Efl_Ui.h| 1 - src/lib/elementary/Elementary.h| 1 - src/lib/elementary/efl_ui_bg.c | 287 src/lib/elementary/efl_ui_bg.eo| 16 +- ..._ui_bg_widget_legacy.eo => efl_ui_bg_legacy.eo} | 2 +- ..._ui_bg_widget_private.h => efl_ui_bg_private.h} | 20 +- src/lib/elementary/efl_ui_bg_widget.c | 295 - src/lib/elementary/efl_ui_bg_widget.eo | 19 -- src/lib/elementary/efl_ui_widget.c | 4 +- src/lib/elementary/efl_ui_widget_part_bg.eo| 2 +- src/lib/elementary/efl_ui_win.c| 4 +- src/lib/elementary/elm_bg_legacy.h | 2 +- src/lib/elementary/meson.build | 6 +- 17 files changed, 325 insertions(+), 348 deletions(-) diff --git a/src/Makefile_Elementary.am b/src/Makefile_Elementary.am index b7844562ac..2f4f9c0164 100644 --- a/src/Makefile_Elementary.am +++ b/src/Makefile_Elementary.am @@ -4,7 +4,6 @@ elm_public_eolian_files = \ lib/elementary/efl_ui_widget.eo \ lib/elementary/efl_ui_bg.eo \ - lib/elementary/efl_ui_bg_widget.eo \ lib/elementary/efl_ui_button.eo \ lib/elementary/efl_ui_calendar.eo \ lib/elementary/efl_ui_calendar_item.eo \ @@ -174,7 +173,7 @@ elm_legacy_eolian_files = \ lib/elementary/efl_ui_button_legacy.eo \ lib/elementary/efl_ui_check_legacy.eo \ lib/elementary/efl_ui_radio_legacy.eo \ - lib/elementary/efl_ui_bg_widget_legacy.eo \ + lib/elementary/efl_ui_bg_legacy.eo \ lib/elementary/efl_ui_video_legacy.eo \ lib/elementary/efl_ui_frame_legacy.eo \ lib/elementary/efl_ui_panes_legacy.eo \ @@ -338,7 +337,7 @@ includesunstable_HEADERS = \ lib/elementary/elm_widget_box.h \ lib/elementary/elm_widget_bubble.h \ lib/elementary/efl_ui_button_private.h \ - lib/elementary/efl_ui_bg_widget_private.h \ + lib/elementary/efl_ui_bg_private.h \ lib/elementary/elm_widget_calendar.h \ lib/elementary/efl_ui_calendar_private.h \ lib/elementary/efl_ui_check_private.h \ @@ -686,7 +685,6 @@ lib_elementary_libelementary_la_SOURCES = \ lib/elementary/elm_atspi_bridge.c \ lib/elementary/efl_ui_legacy.c \ lib/elementary/efl_ui_bg.c \ - lib/elementary/efl_ui_bg_widget.c \ lib/elementary/elm_box.c \ lib/elementary/elm_bubble.c \ lib/elementary/efl_ui_button.c \ diff --git a/src/bin/elementary/test_bg.c b/src/bin/elementary/test_bg.c index 59d18821d0..f71dd7bb86 100644 --- a/src/bin/elementary/test_bg.c +++ b/src/bin/elementary/test_bg.c @@ -408,7 +408,7 @@ test_bg_scale_type(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e efl_ui_win_autodel_set(efl_added, EINA_TRUE), efl_ui_win_alpha_set(efl_added, EINA_FALSE)); - efl_add(EFL_UI_BG_WIDGET_CLASS, win, + efl_add(EFL_UI_BG_CLASS, win, efl_gfx_size_hint_weight_set(efl_added, EFL_GFX_SIZE_HINT_EXPAND, EFL_GFX_SIZE_HINT_EXPAND), efl_content_set(win, efl_added)); @@ -419,7 +419,7 @@ test_bg_scale_type(void *data EINA_UNUSED, Evas_Object *obj EINA_UNUSED, void *e snprintf(buf, sizeof(buf), "%s/images/plant_01.jpg", elm_app_data_dir_get()); - o_bg = efl_add(EFL_UI_BG_WIDGET_CLASS, box, + o_bg = efl_add(EFL_UI_BG_CLASS, box, efl_file_set(efl_added, buf, NULL), efl_gfx_size_hint_weight_set(efl_added, EFL_GFX_
[EGIT] [core/efl] master 01/01: elementary: rename Efl.Ui.Popup classes
xartigas pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d4526f44b8c20010061c42a87ac0496796311afb commit d4526f44b8c20010061c42a87ac0496796311afb Author: Jaehyun Cho Date: Fri Nov 16 11:11:50 2018 +0100 elementary: rename Efl.Ui.Popup classes Summary: Efl.Ui.Popup classes are renamed intuitively from backward order to forward order. Efl.Ui.Popup_Alert-> Efl.Ui.Alert_Popup Efl.Ui.Popup_Alert_Scroll -> Efl.Ui.Scroll_Alert_Popup Efl.Ui.Popup_Alert_Text -> Efl.Ui.Text_Alert_Popup Reviewers: segfaultxavi, bu5hm4n, cedric Reviewed By: segfaultxavi Subscribers: herb, SanghyeonLee, woohyun, cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D7292 --- data/elementary/themes/edc/efl/popup.edc | 46 ++-- src/Makefile_Elementary.am | 30 +-- src/bin/elementary/test.c | 16 +- src/bin/elementary/test_ui_popup.c | 278 ++--- src/examples/elementary/efl_ui_unit_converter.cs | 6 +- src/lib/elementary/Elementary.h| 8 +- .../{efl_ui_popup_alert.c => efl_ui_alert_popup.c} | 86 +++ ...efl_ui_popup_alert.eo => efl_ui_alert_popup.eo} | 14 +- src/lib/elementary/efl_ui_alert_popup_part.eo | 8 + src/lib/elementary/efl_ui_alert_popup_private.h| 22 ++ ...efl_ui_popup_anchor.c => efl_ui_anchor_popup.c} | 42 ++-- ...l_ui_popup_anchor.eo => efl_ui_anchor_popup.eo} | 4 +- src/lib/elementary/efl_ui_anchor_popup_private.h | 17 ++ src/lib/elementary/efl_ui_popup_alert_part.eo | 8 - src/lib/elementary/efl_ui_popup_alert_private.h| 22 -- .../elementary/efl_ui_popup_alert_scroll_private.h | 15 -- .../elementary/efl_ui_popup_alert_text_private.h | 15 -- src/lib/elementary/efl_ui_popup_anchor_private.h | 17 -- ..._alert_scroll.c => efl_ui_scroll_alert_popup.c} | 54 ++-- ...lert_scroll.eo => efl_ui_scroll_alert_popup.eo} | 4 +- ...l_part.eo => efl_ui_scroll_alert_popup_part.eo} | 4 +- .../elementary/efl_ui_scroll_alert_popup_private.h | 15 ++ ...opup_alert_text.c => efl_ui_text_alert_popup.c} | 58 ++--- ...up_alert_text.eo => efl_ui_text_alert_popup.eo} | 4 +- ...ext_part.eo => efl_ui_text_alert_popup_part.eo} | 4 +- .../elementary/efl_ui_text_alert_popup_private.h | 15 ++ src/lib/elementary/meson.build | 30 +-- 27 files changed, 421 insertions(+), 421 deletions(-) diff --git a/data/elementary/themes/edc/efl/popup.edc b/data/elementary/themes/edc/efl/popup.edc index eb656c76e4..a10f0d59d0 100644 --- a/data/elementary/themes/edc/efl/popup.edc +++ b/data/elementary/themes/edc/efl/popup.edc @@ -23,9 +23,9 @@ group { "efl/popup"; } } -group { "efl/popup_alert"; - alias: "efl/popup_alert_scroll"; - alias: "efl/popup_alert_text"; +group { "efl/alert_popup"; + alias: "efl/scroll_alert_popup"; + alias: "efl/text_alert_popup"; images.image: "rounded_square.png" COMP; parts { alias: "title" "efl.text.title"; @@ -111,15 +111,15 @@ group { "efl/popup_alert"; } } -group { "efl/popup_anchor"; +group { "efl/anchor_popup"; inherit: "efl/popup"; } group { "efl/popup/backwall"; - alias: "efl/popup_alert/backwall"; - alias: "efl/popup_alert_scroll/backwall"; - alias: "efl/popup_alert_text/backwall"; - alias: "efl/popup_anchor/backwall"; + alias: "efl/alert_popup/backwall"; + alias: "efl/scroll_alert_popup/backwall"; + alias: "efl/text_alert_popup/backwall"; + alias: "efl/anchor_popup/backwall"; parts { rect { "base"; desc { "default"; @@ -168,18 +168,18 @@ group { "efl/popup/backwall"; } } -group { "efl/popup_alert/button_layout1"; - alias: "efl/popup_alert_scroll/button_layout1"; - alias: "efl/popup_alert_text/button_layout1"; +group { "efl/alert_popup/button_layout1"; + alias: "efl/scroll_alert_popup/button_layout1"; + alias: "efl/text_alert_popup/button_layout1"; parts { swallow { "efl.button1"; } } } -group { "efl/popup_alert/button_layout2"; - alias: "efl/popup_alert_scroll/button_layout2"; - alias: "efl/popup_alert_text/button_layout2"; +group { "efl/alert_popup/button_layout2"; + alias: "efl/scroll_alert_popup/button_layout2"; + alias: "efl/text_alert_popup/button_layout2"; parts { spacer { "div1"; desc { "default"; @@ -203,9 +203,9 @@ group { "efl/p
[EGIT] [core/efl] master 02/02: elm_theme: Fix to set default style group name correctly
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=f66414beec74422d472dce85e97e8090cd129975 commit f66414beec74422d472dce85e97e8090cd129975 Author: Jaehyun Cho Date: Fri Nov 9 14:19:30 2018 +0900 elm_theme: Fix to set default style group name correctly "default" should not be appended to the group name in new EFL interface theme. e.g. "efl/button" Therefore, if "default" is given as a style name, then the style name should be converted to NULL for the group name in new EFL interface theme. --- src/lib/elementary/elm_theme.c | 6 -- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/src/lib/elementary/elm_theme.c b/src/lib/elementary/elm_theme.c index a5b1ff4302..2bcedc9ddf 100644 --- a/src/lib/elementary/elm_theme.c +++ b/src/lib/elementary/elm_theme.c @@ -329,6 +329,9 @@ _elm_theme_set(Elm_Theme *th, Evas_Object *o, const char *clas, const char *grou if ((!clas) || !o) return EFL_UI_THEME_APPLY_FAILED; if (!th) th = &(theme_default); + + if (eina_streq(style, "default")) style = NULL; + if (is_legacy) snprintf(buf2, sizeof(buf2), "elm/%s/%s/%s", clas, (group) ? group : "base", (style) ? style : "default"); else @@ -356,10 +359,9 @@ _elm_theme_set(Elm_Theme *th, Evas_Object *o, const char *clas, const char *grou if (!style) return EFL_UI_THEME_APPLY_FAILED; - if (eina_streq(style, "default")) return EFL_UI_THEME_APPLY_FAILED; // Use the elementary default style. return (EFL_UI_THEME_APPLY_DEFAULT & - _elm_theme_set(th, o, clas, group, "default", is_legacy)); + _elm_theme_set(th, o, clas, group, NULL, is_legacy)); } Eina_Bool --
[EGIT] [core/efl] master 01/02: efl_ui_win: Fix to check efl_ui_bg_widget theme version for non-legacy win
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=a2c8330d8f27f9e3b7736782ae1ea4c39904f55f commit a2c8330d8f27f9e3b7736782ae1ea4c39904f55f Author: Jaehyun Cho Date: Fri Nov 9 13:59:05 2018 +0900 efl_ui_win: Fix to check efl_ui_bg_widget theme version for non-legacy win Check efl_ui_bg_widget theme version instead of elm_bg for non-legacy win if win must swallow bg manually or not. --- src/lib/elementary/efl_ui_win.c | 10 +- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/src/lib/elementary/efl_ui_win.c b/src/lib/elementary/efl_ui_win.c index 20a70cd00a..529b41405e 100644 --- a/src/lib/elementary/efl_ui_win.c +++ b/src/lib/elementary/efl_ui_win.c @@ -7361,7 +7361,15 @@ _elm_win_bg_must_swallow(Efl_Ui_Win_Data *sd) sd->legacy.bg_must_swallow = 1; sd->legacy.bg_must_swallow_init = 1; -bg = elm_bg_add(sd->obj); +if (sd->legacy.ctor) + bg = elm_bg_add(sd->obj); +else + { + // Note: This code path is probably not necessary (custom legacy + // theme but efl_add'ed window -- all efl_add'ed widgets would + // use default theme) + bg = efl_add(EFL_UI_BG_WIDGET_CLASS, sd->obj); + } wd = efl_data_scope_get(bg, EFL_UI_WIDGET_CLASS); if (wd) { --
[EGIT] [core/efl] master 01/01: elc_naviframe: Fix to show prev item when top item is deleted
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=3e7321565d585bac278f37c60cbb19d6a9a5cace commit 3e7321565d585bac278f37c60cbb19d6a9a5cace Author: Jaehyun Cho Date: Fri Oct 26 21:06:34 2018 +0900 elc_naviframe: Fix to show prev item when top item is deleted When top item is deleted, previous item should be shown. --- src/lib/elementary/elc_naviframe.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib/elementary/elc_naviframe.c b/src/lib/elementary/elc_naviframe.c index f8fbf376f4..65ed1c2710 100644 --- a/src/lib/elementary/elc_naviframe.c +++ b/src/lib/elementary/elc_naviframe.c @@ -1192,6 +1192,7 @@ _elm_naviframe_item_efl_object_invalidate(Eo *eo_item, Elm_Naviframe_Item_Data * Elm_Naviframe_Item_Data *prev_it = NULL; Elm_Naviframe_Content_Item_Pair *content_pair; Eina_Inlist *l; + Eina_Bool top; ELM_NAVIFRAME_DATA_GET(WIDGET(it), sd); if (it->title_prev_btn) @@ -1227,9 +1228,10 @@ _elm_naviframe_item_efl_object_invalidate(Eo *eo_item, Elm_Naviframe_Item_Data * if (evas_object_data_get(VIEW(it), "out_of_list")) goto end; + top = (eo_item == elm_naviframe_top_item_get(WIDGET(it))); sd->stack = eina_inlist_remove(sd->stack, EINA_INLIST_GET(it)); - if ((elm_naviframe_top_item_get(WIDGET(it)) == eo_item) && !sd->on_deletion) /* must raise another one */ + if (top && !sd->on_deletion) /* must raise another one */ { if (sd->stack && sd->stack->last) prev_it = EINA_INLIST_CONTAINER_GET(sd->stack->last, --
[EGIT] [core/efl] master 01/01: elm_theme: fix return value when default style fallback is done
jaehyun pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=d03d29f7a298f7468599038f151166738cbf054a commit d03d29f7a298f7468599038f151166738cbf054a Author: Jaehyun Cho Date: Thu Oct 4 16:50:21 2018 +0900 elm_theme: fix return value when default style fallback is done To keep backward compatibility, EFL_UI_THEME_APPLY_DEFAULT is returned instead of EFL_UI_THEME_APPLY_SUCCESS if style is not found in theme and default style fallback is done instead. This patch fixes 7353fc1cb85e08eb6e884ed8bbf9a009226069b6 @fix --- src/lib/elementary/elm_theme.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/lib/elementary/elm_theme.c b/src/lib/elementary/elm_theme.c index 305f6fe102..a5b1ff4302 100644 --- a/src/lib/elementary/elm_theme.c +++ b/src/lib/elementary/elm_theme.c @@ -358,7 +358,8 @@ _elm_theme_set(Elm_Theme *th, Evas_Object *o, const char *clas, const char *grou if (eina_streq(style, "default")) return EFL_UI_THEME_APPLY_FAILED; // Use the elementary default style. - return _elm_theme_set(th, o, clas, group, "default", is_legacy); + return (EFL_UI_THEME_APPLY_DEFAULT & + _elm_theme_set(th, o, clas, group, "default", is_legacy)); } Eina_Bool --