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),

-- 


Reply via email to