From 577d29a484a460d48c54b6f0f2f5b9a282c39168 Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Thu, 20 Feb 2014 23:51:38 +0900 Subject: [PATCH] transit - fix the double free obj_data case. if the object is added twice to the one transit, the obj_remove_cb would be called twice. in this case it will try to access the freed obj_data and crashed up. now it's fixed. --- legacy/elementary/src/lib/elm_transit.c | 1 + 1 file changed, 1 insertion(+) diff --git a/legacy/elementary/src/lib/elm_transit.c b/legacy/elementary/src/lib/elm_transit.c index d8a2d3e9d1..bb0cb007e8 100644 --- a/legacy/elementary/src/lib/elm_transit.c +++ b/legacy/elementary/src/lib/elm_transit.c @@ -174,6 +174,7 @@ _transit_obj_remove_cb(void *data, Evas *e EINA_UNUSED, Evas_Object *obj, void * free(obj_data->state); free(obj_data); } + evas_object_data_del(obj, _transit_key); _remove_obj_from_list(transit, obj); if (!transit->objs && !transit->deleted) elm_transit_del(transit); }