Enlightenment CVS committal Author : raster Project : e17 Module : libs/edje
Dir : e17/libs/edje/src/lib Modified Files: edje_cache.c edje_load.c edje_private.h edje_smart.c Log Message: fix det leeek =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_cache.c,v retrieving revision 1.2 retrieving revision 1.3 diff -u -3 -r1.2 -r1.3 --- edje_cache.c 16 Oct 2005 20:36:20 -0000 1.2 +++ edje_cache.c 2 Nov 2005 08:13:56 -0000 1.3 @@ -208,6 +208,19 @@ } void +_edje_cache_coll_flush(Edje_File *edf) +{ + while (edf->collection_cache) + { + Edje_Part_Collection *edc; + + edc = evas_list_last(edf->collection_cache)->data; + edf->collection_cache = evas_list_remove_list(edf->collection_cache, evas_list_last(edf->collection_cache)); + _edje_collection_free(edf, edc); + } +} + +void _edje_cache_coll_unref(Edje_File *edf, Edje_Part_Collection *edc) { edc->references--; @@ -316,7 +329,7 @@ Edje_File *edf; edf = l->data; - _edje_cache_coll_clean(edf); + _edje_cache_coll_flush(edf); } /* FIXME: freach in file hash too! */ _edje_collection_cache_size = ps; =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_load.c,v retrieving revision 1.75 retrieving revision 1.76 diff -u -3 -r1.75 -r1.76 --- edje_load.c 30 Oct 2005 09:06:45 -0000 1.75 +++ edje_load.c 2 Nov 2005 08:13:56 -0000 1.76 @@ -669,7 +669,7 @@ } if (edf->path) free(edf->path); if (edf->compiler) free(edf->compiler); - if (edf->collection_cache) _edje_cache_coll_clean(edf); + if (edf->collection_cache) _edje_cache_coll_flush(edf); _edje_textblock_style_cleanup(edf); free(edf); } =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_private.h,v retrieving revision 1.95 retrieving revision 1.96 diff -u -3 -r1.95 -r1.96 --- edje_private.h 30 Oct 2005 09:06:45 -0000 1.95 +++ edje_private.h 2 Nov 2005 08:13:56 -0000 1.96 @@ -918,6 +918,7 @@ void _edje_textblock_style_cleanup(Edje_File *edf); Edje_File *_edje_cache_file_coll_open(char *file, char *coll, int *error_ret, Edje_Part_Collection **edc_ret); void _edje_cache_coll_clean(Edje_File *edf); +void _edje_cache_coll_flush(Edje_File *edf); void _edje_cache_coll_unref(Edje_File *edf, Edje_Part_Collection *edc); void _edje_cache_file_unref(Edje_File *edf); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_smart.c,v retrieving revision 1.23 retrieving revision 1.24 diff -u -3 -r1.23 -r1.24 --- edje_smart.c 27 Oct 2005 02:44:36 -0000 1.23 +++ edje_smart.c 2 Nov 2005 08:13:56 -0000 1.24 @@ -140,7 +140,7 @@ ed = evas_object_smart_data_get(obj); if (!ed) return; - if (evas_object_visible_get(obj)) return; + if (evas_object_visible_get(ed->clipper)) return; if ((ed->collection) && (evas_object_clipees_get(ed->clipper))) evas_object_show(ed->clipper); _edje_emit(ed, "show", ""); @@ -153,7 +153,7 @@ ed = evas_object_smart_data_get(obj); if (!ed) return; - if (!evas_object_visible_get(obj)) return; + if (!evas_object_visible_get(ed->clipper)) return; if ((ed->collection) && (evas_object_clipees_get(ed->clipper))) evas_object_hide(ed->clipper); _edje_emit(ed, "hide", ""); ------------------------------------------------------- SF.Net email is sponsored by: Tame your development challenges with Apache's Geronimo App Server. Download it for free - -and be entered to win a 42" plasma tv or your very own Sony(tm)PSP. Click here to play: http://sourceforge.net/geronimo.php _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs