diff options
Diffstat (limited to 'src/lib/eo/eo.c')
-rw-r--r-- | src/lib/eo/eo.c | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c index 95823f7a08..0611643546 100644 --- a/src/lib/eo/eo.c +++ b/src/lib/eo/eo.c | |||
@@ -819,7 +819,7 @@ _eo_class_funcs_set(Eo_Vtable *vtable, const Efl_Object_Ops *ops, const _Efl_Cla | |||
819 | } | 819 | } |
820 | 820 | ||
821 | EAPI Eina_Bool | 821 | EAPI Eina_Bool |
822 | efl_class_functions_set(const Efl_Class *klass_id, const Efl_Object_Ops *object_ops, const Efl_Object_Ops *class_ops, const Efl_Object_Property_Reflection_Ops *reflection_table) | 822 | efl_class_functions_set(const Efl_Class *klass_id, const Efl_Object_Ops *object_ops, const Efl_Object_Property_Reflection_Ops *reflection_table) |
823 | { | 823 | { |
824 | EO_CLASS_POINTER_GOTO(klass_id, klass, err_klass); | 824 | EO_CLASS_POINTER_GOTO(klass_id, klass, err_klass); |
825 | Efl_Object_Ops empty_ops = { 0 }; | 825 | Efl_Object_Ops empty_ops = { 0 }; |
@@ -830,11 +830,9 @@ efl_class_functions_set(const Efl_Class *klass_id, const Efl_Object_Ops *object_ | |||
830 | 830 | ||
831 | if (!object_ops) object_ops = &empty_ops; | 831 | if (!object_ops) object_ops = &empty_ops; |
832 | 832 | ||
833 | if (!class_ops) class_ops = &empty_ops; | ||
834 | |||
835 | klass->reflection = reflection_table; | 833 | klass->reflection = reflection_table; |
836 | 834 | ||
837 | klass->ops_count = object_ops->count + class_ops->count; | 835 | klass->ops_count = object_ops->count; |
838 | 836 | ||
839 | klass->base_id = _eo_ops_last_id; | 837 | klass->base_id = _eo_ops_last_id; |
840 | _eo_ops_last_id += klass->ops_count + 1; | 838 | _eo_ops_last_id += klass->ops_count + 1; |
@@ -851,8 +849,7 @@ efl_class_functions_set(const Efl_Class *klass_id, const Efl_Object_Ops *object_ | |||
851 | _vtable_copy_all(&klass->vtable, &(*mro_itr)->vtable); | 849 | _vtable_copy_all(&klass->vtable, &(*mro_itr)->vtable); |
852 | } | 850 | } |
853 | 851 | ||
854 | return _eo_class_funcs_set(&klass->vtable, object_ops, klass, klass, 0, EINA_FALSE) && | 852 | return _eo_class_funcs_set(&klass->vtable, object_ops, klass, klass, 0, EINA_FALSE); |
855 | _eo_class_funcs_set(&klass->vtable, class_ops, klass, klass, object_ops->count, EINA_FALSE); | ||
856 | 853 | ||
857 | err_funcs: | 854 | err_funcs: |
858 | ERR("Class %s already had its functions set..", klass->desc->name); | 855 | ERR("Class %s already had its functions set..", klass->desc->name); |
@@ -1693,7 +1690,7 @@ efl_class_new(const Efl_Class_Description *desc, const Efl_Class *parent_id, ... | |||
1693 | /* If functions haven't been set, invoke it with an empty ops structure. */ | 1690 | /* If functions haven't been set, invoke it with an empty ops structure. */ |
1694 | if (!klass->functions_set) | 1691 | if (!klass->functions_set) |
1695 | { | 1692 | { |
1696 | efl_class_functions_set(_eo_class_id_get(klass), NULL, NULL, NULL); | 1693 | efl_class_functions_set(_eo_class_id_get(klass), NULL, NULL); |
1697 | } | 1694 | } |
1698 | 1695 | ||
1699 | /* Mark which classes we implement */ | 1696 | /* Mark which classes we implement */ |