forked from enlightenment/efl
eo: first check class desc in eo_class_new
This commit is contained in:
parent
13502a159c
commit
2d52015823
|
@ -763,6 +763,14 @@ eo_class_new(const Eo_Class_Description *desc, const Eo_Class *parent_id, ...)
|
|||
size_t extn_sz, mro_sz, mixins_sz;
|
||||
Eina_List *extn_list, *mro, *mixins;
|
||||
|
||||
EINA_SAFETY_ON_NULL_RETURN_VAL(desc, NULL);
|
||||
EINA_SAFETY_ON_NULL_RETURN_VAL(desc->name, NULL);
|
||||
|
||||
DBG("Started building class '%s'", desc->name);
|
||||
|
||||
if (!_eo_class_check_op_descs(desc))
|
||||
return NULL;
|
||||
|
||||
_Eo_Class *parent = _eo_class_pointer_get(parent_id);
|
||||
#ifndef HAVE_EO_ID
|
||||
if (parent && !EINA_MAGIC_CHECK((Eo_Base *) parent, EO_CLASS_EINA_MAGIC))
|
||||
|
@ -772,12 +780,6 @@ eo_class_new(const Eo_Class_Description *desc, const Eo_Class *parent_id, ...)
|
|||
}
|
||||
#endif
|
||||
|
||||
EINA_SAFETY_ON_NULL_RETURN_VAL(desc, NULL);
|
||||
EINA_SAFETY_ON_NULL_RETURN_VAL(desc->name, NULL);
|
||||
|
||||
if (!_eo_class_check_op_descs(desc))
|
||||
return NULL;
|
||||
|
||||
/* Check restrictions on Interface types. */
|
||||
if (desc->type == EO_CLASS_TYPE_INTERFACE)
|
||||
{
|
||||
|
@ -1027,6 +1029,8 @@ eo_class_new(const Eo_Class_Description *desc, const Eo_Class *parent_id, ...)
|
|||
|
||||
_eo_class_constructor(klass);
|
||||
|
||||
DBG("Finished building class '%s'", klass->desc->name);
|
||||
|
||||
return _eo_class_id_get(klass);
|
||||
}
|
||||
|
||||
|
|
Loading…
Reference in New Issue