edje: refactoring.

SVN revision: 59851
This commit is contained in:
Cedric BAIL 2011-05-31 17:02:58 +00:00
parent 995527500a
commit f64e71a19c
1 changed files with 15 additions and 36 deletions

View File

@ -150,6 +150,13 @@ edje_shutdown(void)
void
_edje_del(Edje *ed)
{
Edje_Running_Program *runp;
Edje_Pending_Program *pp;
Edje_Signal_Callback *escb;
Edje_Color_Class *cc;
Edje_Text_Class *tc;
Edje_Text_Insert_Filter_Callback *cb;
if (ed->processing_messages)
{
ed->delete_me = 1;
@ -167,57 +174,29 @@ _edje_del(Edje *ed)
{
_edje_animators = eina_list_remove(_edje_animators, ed);
}
while (ed->actions)
EINA_LIST_FREE(ed->actions, runp)
free(runp);
EINA_LIST_FREE(ed->pending_actions, pp)
free(pp);
EINA_LIST_FREE(ed->callbacks, escb)
{
Edje_Running_Program *runp;
runp = eina_list_data_get(ed->actions);
ed->actions = eina_list_remove(ed->actions, runp);
free(runp);
}
while (ed->pending_actions)
{
Edje_Pending_Program *pp;
pp = eina_list_data_get(ed->pending_actions);
ed->pending_actions = eina_list_remove(ed->pending_actions, pp);
free(pp);
}
while (ed->callbacks)
{
Edje_Signal_Callback *escb;
escb = eina_list_data_get(ed->callbacks);
ed->callbacks = eina_list_remove(ed->callbacks, escb);
if (escb->signal) eina_stringshare_del(escb->signal);
if (escb->source) eina_stringshare_del(escb->source);
free(escb);
}
while (ed->color_classes)
EINA_LIST_FREE(ed->color_classes, cc)
{
Edje_Color_Class *cc;
cc = eina_list_data_get(ed->color_classes);
ed->color_classes = eina_list_remove(ed->color_classes, cc);
if (cc->name) eina_stringshare_del(cc->name);
free(cc);
}
while (ed->text_classes)
EINA_LIST_FREE(ed->text_classes, tc)
{
Edje_Text_Class *tc;
tc = eina_list_data_get(ed->text_classes);
ed->text_classes = eina_list_remove(ed->text_classes, tc);
if (tc->name) eina_stringshare_del(tc->name);
if (tc->font) eina_stringshare_del(tc->font);
free(tc);
}
while (ed->text_insert_filter_callbacks)
EINA_LIST_FREE(ed->text_insert_filter_callbacks, cb)
{
Edje_Text_Insert_Filter_Callback *cb;
cb = eina_list_data_get(ed->text_insert_filter_callbacks);
ed->text_insert_filter_callbacks = eina_list_remove(ed->text_insert_filter_callbacks, cb);
eina_stringshare_del(cb->part);
free(cb);
}