q66 pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=84a584b313dcd9a53ea3e98d0a84c44917c651ea
commit 84a584b313dcd9a53ea3e98d0a84c44917c651ea Author: Daniel Kolesa <d.kol...@osg.samsung.com> Date: Wed Apr 19 13:24:38 2017 +0200 eolian: fix buggy generation of auto/empty on properties We only want to generate auto/empty function bodies on what is specified inside the braces for properties, not for the whole property. --- src/lib/eolian/eo_parser.c | 8 ++++---- src/tests/eolian/data/override_ref.c | 16 ++++------------ 2 files changed, 8 insertions(+), 16 deletions(-) diff --git a/src/lib/eolian/eo_parser.c b/src/lib/eolian/eo_parser.c index e87da68..e329678 100644 --- a/src/lib/eolian/eo_parser.c +++ b/src/lib/eolian/eo_parser.c @@ -1662,13 +1662,13 @@ propend: } else { + if (glob_auto) + impl->get_auto = impl->set_auto = EINA_TRUE; + if (glob_empty) + impl->get_empty = impl->set_empty = EINA_TRUE; check_next(ls, ';'); FILL_DOC(ls, impl, common_doc); } - if (glob_auto) - impl->get_auto = impl->set_auto = EINA_TRUE; - if (glob_empty) - impl->get_empty = impl->set_empty = EINA_TRUE; if (buf) { impl->full_name = eina_stringshare_add(eina_strbuf_string_get(buf)); diff --git a/src/tests/eolian/data/override_ref.c b/src/tests/eolian/data/override_ref.c index c3226d7..967914a 100644 --- a/src/tests/eolian/data/override_ref.c +++ b/src/tests/eolian/data/override_ref.c @@ -13,19 +13,11 @@ static void __eolian_override_b_set(Eo *obj EINA_UNUSED, Override_Data *pd, int EOAPI EFL_VOID_FUNC_BODYV(override_b_set, EFL_FUNC_CALL(idx, a, b, c), int idx, float a, char b, int c); -static void __eolian_override_b_get(Eo *obj EINA_UNUSED, Override_Data *pd, int idx EINA_UNUSED, float *a, char *b, int *c) -{ - if (a) *a = pd->a; - if (b) *b = pd->b; - if (c) *c = pd->c; -} +void _override_b_get(Eo *obj, Override_Data *pd, int idx, float *a, char *b, int *c); EOAPI EFL_VOID_FUNC_BODYV_CONST(override_b_get, EFL_FUNC_CALL(idx, a, b, c), int idx, float *a, char *b, int *c); -static void __eolian_override_c_set(Eo *obj EINA_UNUSED, Override_Data *pd, int idx EINA_UNUSED, int c) -{ - c = pd->c; -} +void _override_c_set(Eo *obj, Override_Data *pd, int idx, int c); EOAPI EFL_VOID_FUNC_BODYV(override_c_set, EFL_FUNC_CALL(idx, c), int idx, int c); @@ -77,8 +69,8 @@ _override_class_initializer(Efl_Class *klass) EFL_OBJECT_OP_FUNC(override_a_set, NULL), EFL_OBJECT_OP_FUNC(override_a_get, _override_a_get), EFL_OBJECT_OP_FUNC(override_b_set, __eolian_override_b_set), - EFL_OBJECT_OP_FUNC(override_b_get, __eolian_override_b_get), - EFL_OBJECT_OP_FUNC(override_c_set, __eolian_override_c_set), + EFL_OBJECT_OP_FUNC(override_b_get, _override_b_get), + EFL_OBJECT_OP_FUNC(override_c_set, _override_c_set), EFL_OBJECT_OP_FUNC(override_c_get, __eolian_override_c_get), EFL_OBJECT_OP_FUNC(override_foo, NULL), EFL_OBJECT_OP_FUNC(override_bar, __eolian_override_bar), --