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.
This commit is contained in:
ChunEon Park 2014-02-20 23:51:38 +09:00
parent 514e64bf97
commit 577d29a484
1 changed files with 1 additions and 0 deletions

View File

@ -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);
}