Enlightenment CVS committal Author : dj2 Project : e17 Module : libs/edje
Dir : e17/libs/edje/src/lib Modified Files: edje_main.c edje_private.h edje_util.c Log Message: - clean up the _edje_color_class_hash and _edje_text_class_hash on edje_shutdown =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_main.c,v retrieving revision 1.40 retrieving revision 1.41 diff -u -3 -r1.40 -r1.41 --- edje_main.c 26 Oct 2004 19:01:17 -0000 1.40 +++ edje_main.c 13 Jan 2005 06:29:52 -0000 1.41 @@ -42,7 +42,9 @@ _edje_message_shutdown(); _edje_edd_free(); _edje_color_class_members_free(); + _edje_color_class_hash_free(); _edje_text_class_members_free(); + _edje_text_class_hash_free(); embryo_shutdown(); return 0; =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_private.h,v retrieving revision 1.79 retrieving revision 1.80 diff -u -3 -r1.79 -r1.80 --- edje_private.h 7 Dec 2004 13:31:15 -0000 1.79 +++ edje_private.h 13 Jan 2005 06:29:52 -0000 1.80 @@ -781,11 +781,13 @@ void _edje_color_class_member_del(Edje *ed, char *color_class); void _edje_color_class_on_del(Edje *ed, Edje_Part *ep); void _edje_color_class_members_free(void); +void _edje_color_class_hash_free(void); Edje_Text_Class *_edje_text_class_find(Edje *ed, char *text_class); void _edje_text_class_member_add(Edje *ed, char *text_class); void _edje_text_class_member_del(Edje *ed, char *text_class); void _edje_text_class_members_free(void); +void _edje_text_class_hash_free(void); Edje *_edje_fetch(Evas_Object *obj); int _edje_glob_match(char *str, char *glob); =================================================================== RCS file: /cvsroot/enlightenment/e17/libs/edje/src/lib/edje_util.c,v retrieving revision 1.50 retrieving revision 1.51 diff -u -3 -r1.50 -r1.51 --- edje_util.c 13 Jan 2005 06:00:37 -0000 1.50 +++ edje_util.c 13 Jan 2005 06:29:52 -0000 1.51 @@ -1374,6 +1374,30 @@ _edje_color_class_member_hash = NULL; } +static Evas_Bool color_class_hash_list_free(Evas_Hash *hash, + const char *key, void *data, + void *fdata) +{ + Edje_Color_Class *cc; + + cc = data; + if (cc->name) free(cc->name); + free(cc); + + return 1; +} + +void +_edje_color_class_hash_free(void) +{ + if (!_edje_color_class_hash) return; + + evas_hash_foreach(_edje_color_class_hash, color_class_hash_list_free, + NULL); + evas_hash_free(_edje_color_class_hash); + _edje_color_class_hash = NULL; +} + void _edje_color_class_on_del(Edje *ed, Edje_Part *ep) { @@ -1447,6 +1471,31 @@ _edje_text_class_member_hash = NULL; } +static Evas_Bool text_class_hash_list_free(Evas_Hash *hash, + const char *key, void *data, + void *fdata) +{ + Edje_Text_Class *tc; + + tc = data; + if (tc->name) free(tc->name); + if (tc->font) free(tc->font); + free(tc); + + return 1; +} + +void +_edje_text_class_hash_free(void) +{ + if (!_edje_text_class_hash) return; + + evas_hash_foreach(_edje_text_class_hash, text_class_hash_list_free, + NULL); + evas_hash_free(_edje_text_class_hash); + _edje_text_class_hash = NULL; +} + Edje * _edje_fetch(Evas_Object *obj) { ------------------------------------------------------- The SF.Net email is sponsored by: Beat the post-holiday blues Get a FREE limited edition SourceForge.net t-shirt from ThinkGeek. It's fun and FREE -- well, almost....http://www.thinkgeek.com/sfshirt _______________________________________________ enlightenment-cvs mailing list enlightenment-cvs@lists.sourceforge.net https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs