hermet pushed a commit to branch master.

http://git.enlightenment.org/core/elementary.git/commit/?id=c0afc63262d6ceb944e0019bb4d01ca36d93b0e0

commit c0afc63262d6ceb944e0019bb4d01ca36d93b0e0
Author: ChunEon Park <[email protected]>
Date:   Thu Feb 20 23:51:38 2014 +0900

    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.
---
 src/lib/elm_transit.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/src/lib/elm_transit.c b/src/lib/elm_transit.c
index d8a2d3e..bb0cb00 100644
--- a/src/lib/elm_transit.c
+++ b/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);
 }

-- 


Reply via email to