Enlightenment CVS committal Author : raster Project : e17 Module : libs/evas
Dir : e17/libs/evas/src/lib/canvas Modified Files: evas_callbacks.c evas_object_main.c Log Message: ooh - and remove leak from callbacks not being freed! fixed! =================================================================== RCS file: /cvs/e/e17/libs/evas/src/lib/canvas/evas_callbacks.c,v retrieving revision 1.28 retrieving revision 1.29 diff -u -3 -r1.28 -r1.29 --- evas_callbacks.c 22 Jan 2007 12:44:57 -0000 1.28 +++ evas_callbacks.c 21 Feb 2007 21:43:45 -0000 1.29 @@ -92,6 +92,21 @@ } void +evas_object_event_callback_all_del(Evas_Object *obj) +{ + Evas_Object_List *l; + + if (!obj->callbacks) return; + for (l = obj->callbacks->callbacks; l; l = l->next) + { + Evas_Func_Node *fn; + + fn = (Evas_Func_Node *)l; + fn->delete_me = 1; + } +} + +void evas_object_event_callback_cleanup(Evas_Object *obj) { /* MEM OK */ =================================================================== RCS file: /cvs/e/e17/libs/evas/src/lib/canvas/evas_object_main.c,v retrieving revision 1.55 retrieving revision 1.56 diff -u -3 -r1.55 -r1.56 --- evas_object_main.c 12 Feb 2007 17:02:15 -0000 1.55 +++ evas_object_main.c 21 Feb 2007 21:43:45 -0000 1.56 @@ -56,6 +56,7 @@ obj->clip.changes = evas_list_remove(obj->clip.changes, r); free(r); } + evas_object_event_callback_all_del(obj); evas_object_event_callback_cleanup(obj); while (obj->data.elements) { ------------------------------------------------------------------------- Take Surveys. Earn Cash. Influence the Future of IT Join SourceForge.net's Techsay panel and you'll get the chance to share your opinions on IT & business topics through brief surveys-and earn cash http://www.techsay.com/default.php?page=join.php&p=sourceforge&CID=DEVDEV _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs