diff options
author | ChunEon Park <chuneon.park@samsung.com> | 2013-07-09 14:02:45 +0900 |
---|---|---|
committer | Jaehwan Kim <jae.hwan.kim@samsung.com> | 2013-07-09 14:32:59 +0900 |
commit | 7f84a7205aed12a1b7380a3070fa3289b5bf8c2c (patch) | |
tree | aff490bdde3c36285a1754d2c9298619e2f3b264 | |
parent | 9fe6ca199c9b1178f542d22e9e6432595987160e (diff) | |
download | efl-assist-7f84a7205aed12a1b7380a3070fa3289b5bf8c2c.tar.gz efl-assist-7f84a7205aed12a1b7380a3070fa3289b5bf8c2c.tar.bz2 efl-assist-7f84a7205aed12a1b7380a3070fa3289b5bf8c2c.zip |
events - fix the double free() case.
don't free the data if the data is still being used.
Change-Id: I9b4185a8ed6bf191ef3b6f3c046fdf0ab9f741fc
-rw-r--r-- | src/lib/efl_assist_events.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/src/lib/efl_assist_events.c b/src/lib/efl_assist_events.c index fdf3359..cfb6592 100644 --- a/src/lib/efl_assist_events.c +++ b/src/lib/efl_assist_events.c @@ -58,7 +58,8 @@ _ea_object_del_cb(void *data, Evas *e, Evas_Object *obj, void *event_info) free(callback); obj_event->callbacks = eina_list_free(obj_event->callbacks); - free(obj_event); + if (obj_event->on_callback) obj_event->delete_me = EINA_TRUE; + else free(obj_event); _ea_event_mgr_del(event_mgr); } |