cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=c96c9a5b83930b855ce0c42db60826a4379c1cb6
commit c96c9a5b83930b855ce0c42db60826a4379c1cb6 Author: Cedric BAIL <[email protected]> Date: Sun Apr 28 10:58:41 2019 -0700 ecore: enable property reflection support in Efl.CompositeModel. Reviewed-by: Marcel Hollerbach <[email protected]> Differential Revision: https://phab.enlightenment.org/D8754 --- src/lib/ecore/efl_composite_model.c | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/src/lib/ecore/efl_composite_model.c b/src/lib/ecore/efl_composite_model.c index 630d08edf7..1cad58ae4d 100644 --- a/src/lib/ecore/efl_composite_model.c +++ b/src/lib/ecore/efl_composite_model.c @@ -232,13 +232,25 @@ static Eina_Value * _efl_composite_model_efl_model_property_get(const Eo *obj EINA_UNUSED, Efl_Composite_Model_Data *pd, const char *property) { + Eina_Value *try; if (pd->need_index && !strcmp(property, EFL_COMPOSITE_MODEL_CHILD_INDEX)) { if (pd->set_index) return eina_value_uint_new(pd->index); return eina_value_error_new(EAGAIN); } - return efl_model_property_get(pd->source, property); + try = efl_model_property_get(efl_super(obj, EFL_COMPOSITE_MODEL_CLASS), property); + if (eina_value_type_get(try) == EINA_VALUE_TYPE_ERROR) + { + Eina_Error err = EINA_ERROR_NOT_IMPLEMENTED; + + if (eina_value_error_get(try, &err) && (err == EINA_ERROR_NOT_IMPLEMENTED)) + { + eina_value_free(try); + return efl_model_property_get(pd->source, property); + } + } + return try; } static Eina_Iterator * --
