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.
This commit is contained in:
Lauro Moura 2016-08-17 20:53:56 -03:00 committed by Felipe Magno de Almeida
parent 7828d0e072
commit 16986ffc7a
2 changed files with 3 additions and 3 deletions

View File

@ -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

View File

@ -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;
}