From 1d55ffffdcfd1ff1d1f9e2ab12eed1fba904ff0a Mon Sep 17 00:00:00 2001 From: hermet Date: Fri, 27 May 2011 02:22:29 +0000 Subject: [PATCH] elementary/transit - removed unnecessary codes and fixed a minors for preventing exceptions. git-svn-id: https://svn.enlightenment.org/svn/e/trunk/elementary@59721 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/elm_transit.c | 30 ++++++++++++++---------------- 1 file changed, 14 insertions(+), 16 deletions(-) diff --git a/src/lib/elm_transit.c b/src/lib/elm_transit.c index 7fb4fe0..5d110ef 100644 --- a/src/lib/elm_transit.c +++ b/src/lib/elm_transit.c @@ -200,15 +200,25 @@ _obj_damage_area_set(Evas_Object *obj) max.x - min.x, max.y - min.y); } - - static void _elm_transit_object_remove(Elm_Transit *transit, Evas_Object *obj) { - Elm_Obj_Data *obj_data = eina_hash_find(transit->objs_data_hash, obj); + Elm_Obj_Data *obj_data; + Elm_Obj_State *state; + + //Remove duplicated objects + //TODO: Need to consider about optimizing here + while(1) + { + if (!eina_list_data_find_list(transit->objs, obj)) + break; + transit->objs = eina_list_remove(transit->objs, obj); + } + + obj_data = eina_hash_find(transit->objs_data_hash, obj); if (!obj_data) return; eina_hash_del_by_key(transit->objs_data_hash, obj); - Elm_Obj_State *state = obj_data->state; + state = obj_data->state; evas_object_pass_events_set(obj, obj_data->pass_events); @@ -239,14 +249,6 @@ _elm_transit_object_remove(Elm_Transit *transit, Evas_Object *obj) } free(obj_data); - //remove duplicated objects - //TODO: Need to consider about optimizing here - while(1) - { - if (!eina_list_data_find_list(transit->objs, obj)) - break; - transit->objs = eina_list_remove(transit->objs, obj); - } evas_object_event_callback_del_full(obj, EVAS_CALLBACK_DEL, _elm_transit_object_remove_cb, @@ -620,10 +622,6 @@ elm_transit_object_remove(Elm_Transit *transit, Evas_Object *obj) { ELM_TRANSIT_CHECK_OR_RETURN(transit); EINA_SAFETY_ON_NULL_RETURN(obj); - Elm_Obj_Data *obj_data; - - obj_data = eina_hash_find(transit->objs_data_hash, obj); - if (!obj_data) return; _elm_transit_object_remove(transit, obj); if (!transit->objs) elm_transit_del(transit); -- 2.7.4