summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorChunEon Park <chuneon.park@samsung.com>2013-07-09 14:02:45 +0900
committerJaehwan Kim <jae.hwan.kim@samsung.com>2013-07-09 14:32:59 +0900
commit7f84a7205aed12a1b7380a3070fa3289b5bf8c2c (patch)
treeaff490bdde3c36285a1754d2c9298619e2f3b264
parent9fe6ca199c9b1178f542d22e9e6432595987160e (diff)
downloadefl-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.c3
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);
}