Enlightenment CVS committal Author : codewarrior Project : e17 Module : apps/e
Dir : e17/apps/e/src/bin Modified Files: e_fileman_smart.c e_icon_canvas.c Log Message: - better cleanups =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_fileman_smart.c,v retrieving revision 1.112 retrieving revision 1.113 diff -u -3 -r1.112 -r1.113 --- e_fileman_smart.c 5 Dec 2005 22:20:34 -0000 1.112 +++ e_fileman_smart.c 8 Dec 2005 13:03:06 -0000 1.113 @@ -1768,9 +1768,13 @@ static void _e_fm_file_free(E_Fm_Icon *icon) { - e_icon_canvas_unpack(icon->icon_obj); - evas_object_del(icon->icon_obj); - e_object_del(E_OBJECT(icon->file)); + if(icon->icon_obj) + { + e_icon_canvas_unpack(icon->icon_obj); + evas_object_del(icon->icon_obj); + } + if(icon->file) + e_object_del(E_OBJECT(icon->file)); /* if (file->menu) e_object_del(E_OBJECT(file->menu)); =================================================================== RCS file: /cvsroot/enlightenment/e17/apps/e/src/bin/e_icon_canvas.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- e_icon_canvas.c 5 Dec 2005 22:20:34 -0000 1.2 +++ e_icon_canvas.c 8 Dec 2005 13:03:06 -0000 1.3 @@ -334,6 +334,7 @@ e_icon_canvas_reset(Evas_Object *obj) { E_Smart_Data *sd; + int i, j; if ((!obj) || !(sd = evas_object_smart_data_get(obj))) return; @@ -343,15 +344,34 @@ sd->mw = 0; sd->mh = 0; -#if 0 while (sd->items) - { - Evas_Object *child; - - child = sd->items->data; - e_icon_canvas_unpack(child); - } -#endif + { + E_Icon_Canvas_Item *li; + + li = sd->items->data; + if(li->obj) + e_icon_canvas_unpack(li->obj); + else + sd->items = evas_list_remove(sd->items, li); + //free(li); + } + + for(i = 0; i < TILE_NUM; i++) + { + for(j = 0; j < TILE_NUM; j++) + { + if(sd->tiles[i][j]) + { + E_Icon_Canvas_Tile *t; + + t = sd->tiles[i][j]; + while(t->items) + t->items = evas_list_remove(t->items, t->items->data); + free(sd->tiles[i][j]); + sd->tiles[i][j] = NULL; + } + } + } } void ------------------------------------------------------- This SF.net email is sponsored by: Splunk Inc. Do you grep through log files for problems? Stop! Download the new AJAX search engine that makes searching your log files as easy as surfing the web. DOWNLOAD SPLUNK! http://ads.osdn.com/?ad_id=7637&alloc_id=16865&op=click _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs