}
static void
-_child_add(Eobj *obj __UNUSED__, void *class_data, va_list *list)
+_child_add(Eobj *obj, void *class_data, va_list *list)
{
Widget_Data *wd = class_data;
Eobj *child;
child = va_arg(*list, Eobj *);
- wd->children = eina_list_append(wd->children, eobj_ref(child));
+ wd->children = eina_list_append(wd->children, eobj_xref(child, obj));
}
static void
Eobj *child;
EINA_LIST_FREE(wd->children, child)
{
- eobj_del(child);
+ eobj_xunref(child, obj);
}
}
Eobj *emb_obj;
EINA_LIST_FOREACH_SAFE(obj->composite_objects, itr, itr_n, emb_obj)
{
- /* FIXME: Should probably be unref. */
- eobj_del(emb_obj);
- obj->composite_objects =
- eina_list_remove_list(obj->composite_objects, itr);
+ eobj_composite_object_detach(obj, emb_obj);
}
_eobj_callback_remove_all(obj);
EAPI void
eobj_composite_object_attach(Eobj *obj, Eobj *emb_obj)
{
- eobj_ref(emb_obj);
+ eobj_xref(emb_obj, obj);
obj->composite_objects = eina_list_prepend(obj->composite_objects, emb_obj);
}
eobj_composite_object_detach(Eobj *obj, Eobj *emb_obj)
{
obj->composite_objects = eina_list_remove(obj->composite_objects, emb_obj);
- eobj_unref(emb_obj);
+ eobj_xunref(emb_obj, obj);
}
EAPI Eina_Bool