eo2: call _eo2_class_funcs_set from _eo_class_constructor

This commit is contained in:
Jérémy Zurcher 2013-07-29 22:13:13 +02:00 committed by Tom Hacohen
parent 8307ed5aa8
commit 2d5baec80c
3 changed files with 5 additions and 10 deletions

View File

@ -612,10 +612,6 @@ EAPI Eina_Bool eo_shutdown(void);
// An helper macro to help populating #Eo_Class_Description.
#define EO2_CLASS_DESCRIPTION_OPS(op_descs) { NULL, NULL, op_descs, EO2_OP_DESC_SIZE(op_descs) }
// sort Eo2_Op_Description[] by eapi_func then attribute OP ids
EAPI void
eo2_class_funcs_set(Eo_Class *klass_id);
// to fetch internal function and object data at once
typedef struct _Eo2_Op_Call_Data
{

View File

@ -485,16 +485,13 @@ eo2_api_funcs_cmp(const void *p1, const void *p2)
}
EAPI void
eo2_class_funcs_set(Eo_Class *klass_id)
_eo2_class_funcs_set(_Eo_Class *klass)
{
int op_id;
_Eo_Class *klass;
const Eo2_Op_Description *api_desc;
Eo2_Op_Description *op_desc;
Eo2_Op_Description *op_descs;
klass = _eo_class_pointer_get(klass_id);
EO_MAGIC_RETURN(klass, EO_CLASS_EINA_MAGIC);
op_descs = klass->desc->ops.descs2;
qsort((void*)op_descs, klass->desc->ops.count, sizeof(Eo2_Op_Description), eo2_api_funcs_cmp);
@ -925,6 +922,9 @@ _eo_class_constructor(_Eo_Class *klass)
klass->constructed = EINA_TRUE;
if (klass->desc->version == EO2_VERSION)
_eo2_class_funcs_set(klass);
if (klass->desc->class_constructor)
klass->desc->class_constructor(_eo_class_id_get(klass));
}

View File

@ -771,10 +771,9 @@ _destructor(Eo *obj, void *class_data)
EAPI EO2_VOID_FUNC_BODY(eo2_destructor);
static void
_class_constructor(Eo_Class *klass)
_class_constructor(Eo_Class *klass EINA_UNUSED)
{
event_freeze_count = 0;
eo2_class_funcs_set(klass);
}
Eo2_Op_Description op_descs [] = {