summaryrefslogtreecommitdiff
path: root/src/lib/eo/eo.c
diff options
context:
space:
mode:
authorCedric BAIL <cedric.bail@free.fr>2019-02-11 17:39:00 -0800
committerCedric BAIL <cedric.bail@free.fr>2019-02-21 11:54:12 -0800
commit770750486c84305f3aaf82df48605ee956b1281e (patch)
treecb33f03b34a8b849062f358741faa7c6cbe9d726 /src/lib/eo/eo.c
parentb23f65291f9624827e40ebf32d5133cb1074aeb6 (diff)
eo: return an Eina_Value error when a get for a property is not implemented.
Reviewed-by: Marcel Hollerbach <marcel-hollerbach@t-online.de> Differential Revision: https://phab.enlightenment.org/D7936
Diffstat (limited to 'src/lib/eo/eo.c')
-rw-r--r--src/lib/eo/eo.c12
1 files changed, 7 insertions, 5 deletions
diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c
index efd6805..a5c72e0 100644
--- a/src/lib/eo/eo.c
+++ b/src/lib/eo/eo.c
@@ -3660,16 +3660,18 @@ efl_property_reflection_set(Eo *obj_id, const char *property_name, Eina_Value va
3660EAPI Eina_Value 3660EAPI Eina_Value
3661efl_property_reflection_get(Eo *obj_id, const char *property_name) 3661efl_property_reflection_get(Eo *obj_id, const char *property_name)
3662{ 3662{
3663 EO_OBJ_POINTER(obj_id, obj); 3663 Eina_Value r = eina_value_error_init(EINA_ERROR_NOT_IMPLEMENTED);
3664
3665 EO_OBJ_POINTER_GOTO(obj_id, obj, end);
3664 const Efl_Object_Property_Reflection *reflection = _efl_class_reflection_find(obj->klass, property_name); 3666 const Efl_Object_Property_Reflection *reflection = _efl_class_reflection_find(obj->klass, property_name);
3665 3667
3666 if (!reflection || !reflection->get) goto end; 3668 if (reflection && reflection->get)
3669 r = reflection->get(obj_id);
3667 3670
3668 return reflection->get(obj_id); 3671 end:
3669end:
3670 EO_OBJ_DONE(obj_id); 3672 EO_OBJ_DONE(obj_id);
3671 3673
3672 return EINA_VALUE_EMPTY; 3674 return r;
3673} 3675}
3674 3676
3675EAPI Efl_Class_Type 3677EAPI Efl_Class_Type