jeyzu pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=2d520158233b35c408677e61da79e8beda17c41c

commit 2d520158233b35c408677e61da79e8beda17c41c
Author: Jérémy Zurcher <jer...@asynk.ch>
Date:   Wed Feb 19 10:13:47 2014 +0100

    eo: first check class desc in eo_class_new
---
 src/lib/eo/eo.c | 16 ++++++++++------
 1 file changed, 10 insertions(+), 6 deletions(-)

diff --git a/src/lib/eo/eo.c b/src/lib/eo/eo.c
index b2cec78..de79d77 100644
--- a/src/lib/eo/eo.c
+++ b/src/lib/eo/eo.c
@@ -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);
 }
 

-- 


Reply via email to