felipealmeida pushed a commit to branch master.

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

commit 16986ffc7aded1e8baf1eb36227d425cc30d8f03
Author: Lauro Moura <[email protected]>
Date:   Wed Aug 17 20:53:56 2016 -0300

    eolian_cxx: Fix behavior with explicit void return
    
    Only perform the single value/return type substitution on properties if the
    void return type is implicit (i.e. NULL return from 
function_return_type_get),
    following the eolian-C implementation as we use the generated headers.
    
    Also update example after Eo-Efl changes.
---
 src/examples/eolian_cxx/colourable_cxx.cc | 4 ++--
 src/lib/eolian_cxx/grammar/klass_def.hpp  | 2 +-
 2 files changed, 3 insertions(+), 3 deletions(-)

diff --git a/src/examples/eolian_cxx/colourable_cxx.cc 
b/src/examples/eolian_cxx/colourable_cxx.cc
index 30f1bb3..66c0d89 100644
--- a/src/examples/eolian_cxx/colourable_cxx.cc
+++ b/src/examples/eolian_cxx/colourable_cxx.cc
@@ -24,14 +24,14 @@ _colourable_eo_base_constructor(Eo *obj, Colourable_Data 
*self)
 {
    EINA_CXX_DOM_LOG_DBG(domain) << __func__ << std::endl;
    self->r = self->g = self->b = 0;
-   return eo_constructor(eo_super(obj, MY_CLASS));
+   return efl_constructor(efl_super(obj, MY_CLASS));
 }
 
 void
 _colourable_eo_base_destructor(Eo *obj, Colourable_Data *self EINA_UNUSED)
 {
    EINA_CXX_DOM_LOG_DBG(domain) << __func__ << std::endl;
-   eo_destructor(eo_super(obj, MY_CLASS));
+   efl_destructor(efl_super(obj, MY_CLASS));
 }
 
 void
diff --git a/src/lib/eolian_cxx/grammar/klass_def.hpp 
b/src/lib/eolian_cxx/grammar/klass_def.hpp
index 0c5d820..cafb56d 100644
--- a/src/lib/eolian_cxx/grammar/klass_def.hpp
+++ b/src/lib/eolian_cxx/grammar/klass_def.hpp
@@ -424,7 +424,7 @@ struct function_def
               values.push_back(&*param_iterator);
            }
 
-         if(type == EOLIAN_PROP_GET && values.size() == 1 && return_type == 
void_)
+         if(!r_type && type == EOLIAN_PROP_GET && values.size() == 1)
            {
              return_type = values[0].type;
            }

-- 


Reply via email to