From: tasn Date: Tue, 17 Apr 2012 15:36:41 +0000 (+0000) Subject: Eobj: Use xref. X-Git-Tag: submit/2.0alpha-wayland/20121127.222020~194 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3ff3adee99138c049890637970473d35fec13739;p=profile%2Fivi%2Feobj.git Eobj: Use xref. git-svn-id: http://svn.enlightenment.org/svn/e/trunk/PROTO/eobj@70275 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- diff --git a/examples/evas/evas_obj.c b/examples/evas/evas_obj.c index 5984d05..69d728c 100644 --- a/examples/evas/evas_obj.c +++ b/examples/evas/evas_obj.c @@ -69,12 +69,12 @@ _visibility_set(Eobj *obj, void *class_data __UNUSED__, va_list *list) } 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 @@ -98,7 +98,7 @@ _destructor(Eobj *obj, void *class_data) Eobj *child; EINA_LIST_FREE(wd->children, child) { - eobj_del(child); + eobj_xunref(child, obj); } } diff --git a/lib/eobj.c b/lib/eobj.c index 36a8674..a92c5a3 100644 --- a/lib/eobj.c +++ b/lib/eobj.c @@ -880,10 +880,7 @@ eobj_unref(Eobj *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); @@ -1078,7 +1075,7 @@ eobj_shutdown(void) 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); } @@ -1086,7 +1083,7 @@ EAPI void 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