Eo: Fixed an error in in _eo_callback_remove and a few minor things.
authorTom Hacohen <tom@stosb.com>
Fri, 12 Apr 2013 16:17:30 +0000 (17:17 +0100)
committerTom Hacohen <tom@stosb.com>
Fri, 12 Apr 2013 16:17:38 +0000 (17:17 +0100)
The other things are not really issues but more about silencing clang.
Thanks to clang-analyzer.

src/lib/eo/eo.c
src/lib/eo/eo_base_class.c

index 0b02c08..d149cee 100644 (file)
@@ -366,13 +366,13 @@ _eo_dov_internal(Eo *obj, Eo_Op_Type op_type, va_list *p_list)
         op = va_arg(*p_list, Eo_Op);
      }
 
-   _eo_unref(obj);
-
    if (obj->do_error)
       ret = EINA_FALSE;
 
    obj->do_error = prev_error;
 
+   _eo_unref(obj);
+
    return ret;
 }
 
@@ -1495,8 +1495,8 @@ eo_composite_attach(Eo *comp_obj, Eo *parent)
    EO_MAGIC_RETURN(parent, EO_EINA_MAGIC);
 
    comp_obj->composite = EINA_TRUE;
-   eo_parent_set(comp_obj, parent);
    parent->composite_objects = eina_list_prepend(parent->composite_objects, comp_obj);
+   eo_parent_set(comp_obj, parent);
 }
 
 EAPI void
index 389fae9..2b5b69c 100644 (file)
@@ -281,7 +281,10 @@ _eo_callback_remove(Private_Data *pd, Eo_Callback_Description *cb)
                }
              free(titr);
           }
-        pitr = titr;
+        else
+          {
+             pitr = titr;
+          }
      }
 }