- clean up the _edje_color_class_hash and _edje_text_class_hash on

edje_shutdown


SVN revision: 12943
This commit is contained in:
Dan Sinclair 2005-01-13 06:29:52 +00:00 committed by Dan Sinclair
parent 166867f286
commit 64fd36e92f
3 changed files with 53 additions and 0 deletions

View File

@ -42,7 +42,9 @@ edje_shutdown(void)
_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;

View File

@ -781,11 +781,13 @@ void _edje_color_class_member_add(Edje *ed, char *color_class);
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);

View File

@ -1374,6 +1374,30 @@ _edje_color_class_members_free(void)
_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_members_free(void)
_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)
{