const char *source = NULL;
rp = ed->table_parts[i];
- if (rp->part->type != EDJE_PART_TYPE_GROUP &&
- rp->part->type != EDJE_PART_TYPE_BOX &&
- rp->part->type != EDJE_PART_TYPE_TABLE) continue;
- if (rp->part->type == EDJE_PART_TYPE_GROUP)
- source = rp->part->source;
- else if (rp->part->type == EDJE_PART_TYPE_BOX ||
- rp->part->type == EDJE_PART_TYPE_TABLE)
+
+ switch (rp->part->type)
{
- if (rp->part->items)
- {
- curr_item = rp->part->items;
- pack_it = curr_item->data;
- source = pack_it->source;
- }
+ case EDJE_PART_TYPE_GROUP:
+ source = rp->part->source;
+ break;
+ case EDJE_PART_TYPE_BOX:
+ case EDJE_PART_TYPE_TABLE:
+ if (rp->part->items)
+ {
+ curr_item = rp->part->items;
+ pack_it = curr_item->data;
+ source = pack_it->source;
+ }
+ break;
+ default:
+ continue;
}
+
while (source)
{
Eina_List *l;
if (group_path_started)
{
- while (group_path)
- {
- eina_stringshare_del(eina_list_data_get(group_path));
- group_path = eina_list_remove_list(group_path, group_path);
- }
+ const char *str;
+
+ EINA_LIST_FREE(group_path, str)
+ eina_stringshare_del(str);
}
/* reswallow any swallows that existed before setting the file */
}
if (rp->items)
{
- /* all internal, for now */
- while (rp->items)
- {
- /* evas_box/table handles deletion of objects */
- /*evas_object_del(rp->items->data);*/
- rp->items = eina_list_remove_list(rp->items, rp->items);
- }
+ /* evas_box/table handles deletion of objects */
+ rp->items = eina_list_free(rp->items);
}
if (rp->text.text) eina_stringshare_del(rp->text.text);
if (rp->text.font) eina_stringshare_del(rp->text.font);
}
if (ed->actions)
{
- while (ed->actions)
- {
- Edje_Running_Program *runp;
+ Edje_Running_Program *runp;
+ EINA_LIST_FREE(ed->actions, runp)
+ {
_edje_anim_count--;
- runp = eina_list_data_get(ed->actions);
- ed->actions = eina_list_remove(ed->actions, runp);
free(runp);
}
}
_edje_animators = eina_list_remove(_edje_animators, ed);
if (ed->pending_actions)
{
- while (ed->pending_actions)
- {
- Edje_Pending_Program *pp;
+ Edje_Pending_Program *pp;
- pp = eina_list_data_get(ed->pending_actions);
- ed->pending_actions = eina_list_remove(ed->pending_actions, pp);
+ EINA_LIST_FREE(ed->pending_actions, pp)
+ {
ecore_timer_del(pp->timer);
free(pp);
}
void
_edje_file_free(Edje_File *edf)
{
+ Edje_Color_Class *ecc;
+ Edje_Data *edt;
+
if (edf->font_dir)
{
- while (edf->font_dir->entries)
- {
- Edje_Font_Directory_Entry *fe;
+ Edje_Font_Directory_Entry *fe;
- fe = eina_list_data_get(edf->font_dir->entries);
- edf->font_dir->entries =
- eina_list_remove_list(edf->font_dir->entries, edf->font_dir->entries);
+ EINA_LIST_FREE(edf->font_dir->entries, fe)
+ {
eina_hash_del(edf->font_hash, fe->entry, edf);
if (edf->free_strings && fe->path) eina_stringshare_del(fe->path);
free(fe);
}
if (edf->image_dir)
{
- while (edf->image_dir->entries)
- {
- Edje_Image_Directory_Entry *ie;
+ Edje_Image_Directory_Entry *ie;
- ie = eina_list_data_get(edf->image_dir->entries);
- edf->image_dir->entries =
- eina_list_remove_list(edf->image_dir->entries, edf->image_dir->entries);
+ EINA_LIST_FREE(edf->image_dir->entries, ie)
+ {
if (edf->free_strings && ie->entry) eina_stringshare_del(ie->entry);
free(ie);
}
}
if (edf->collection_dir)
{
- while (edf->collection_dir->entries)
- {
- Edje_Part_Collection_Directory_Entry *ce;
+ Edje_Part_Collection_Directory_Entry *ce;
- ce = eina_list_data_get(edf->collection_dir->entries);
- edf->collection_dir->entries =
- eina_list_remove_list(edf->collection_dir->entries, edf->collection_dir->entries);
+ EINA_LIST_FREE(edf->collection_dir->entries, ce)
+ {
if (edf->free_strings && ce->entry) eina_stringshare_del(ce->entry);
free(ce);
}
}
if (edf->spectrum_dir)
{
- while (edf->spectrum_dir->entries)
+ Edje_Spectrum_Directory_Entry *se;
+
+ EINA_LIST_FREE(edf->spectrum_dir->entries, se)
{
- Edje_Spectrum_Directory_Entry *se;
+ Edje_Spectrum_Color *sc;
+
+ EINA_LIST_FREE(se->color_list, sc)
+ free(sc);
- se = eina_list_data_get(edf->spectrum_dir->entries);
- edf->spectrum_dir->entries =
- eina_list_remove_list(edf->spectrum_dir->entries, edf->spectrum_dir->entries);
- while (se->color_list)
- {
- free(eina_list_data_get(se->color_list));
- se->color_list =
- eina_list_remove_list(se->color_list, se->color_list);
- }
if (edf->free_strings)
{
if (se->entry) eina_stringshare_del(se->entry);
}
free(edf->spectrum_dir);
}
- while (edf->data)
- {
- Edje_Data *edt;
- edt = eina_list_data_get(edf->data);
- edf->data = eina_list_remove(edf->data, edt);
+ EINA_LIST_FREE(edf->data, edt)
+ {
if (edf->free_strings)
{
if (edt->key) eina_stringshare_del(edt->key);
edf->data_cache = NULL;
}
- while (edf->color_classes)
+ EINA_LIST_FREE(edf->color_classes, ecc)
{
- Edje_Color_Class *ecc;
-
- ecc = eina_list_data_get(edf->color_classes);
- edf->color_classes =
- eina_list_remove_list(edf->color_classes, edf->color_classes);
if (edf->free_strings && ecc->name) eina_stringshare_del(ecc->name);
free(ecc);
}
void
_edje_collection_free(Edje_File *edf, Edje_Part_Collection *ec)
{
- while (ec->programs)
+ Edje_Program *pr;
+ Edje_Part *ep;
+
+ EINA_LIST_FREE(ec->programs, pr)
{
- Edje_Program *pr;
+ Edje_Program_Target *prt;
+ Edje_Program_After *pa;
- pr = eina_list_data_get(ec->programs);
- ec->programs = eina_list_remove_list(ec->programs, ec->programs);
if (edf->free_strings)
{
if (pr->name) eina_stringshare_del(pr->name);
if (pr->state) eina_stringshare_del(pr->state);
if (pr->state2) eina_stringshare_del(pr->state2);
}
- while (pr->targets)
- {
- Edje_Program_Target *prt;
-
- prt = eina_list_data_get(pr->targets);
- pr->targets = eina_list_remove_list(pr->targets, pr->targets);
- free(prt);
- }
- while (pr->after)
- {
- Edje_Program_After *pa;
-
- pa = eina_list_data_get(pr->after);
- pr->after = eina_list_remove_list(pr->after, pr->after);
- free(pa);
- }
+ EINA_LIST_FREE(pr->targets, prt)
+ free(prt);
+ EINA_LIST_FREE(pr->after, pa)
+ free(pa);
free(pr);
}
- while (ec->parts)
+ EINA_LIST_FREE(ec->parts, ep)
{
- Edje_Part *ep;
+ Edje_Part_Description *desc;
- ep = eina_list_data_get(ec->parts);
- ec->parts = eina_list_remove(ec->parts, ep);
if (edf->free_strings && ep->name) eina_stringshare_del(ep->name);
if (ep->default_desc)
{
_edje_collection_free_part_description_free(ep->default_desc, edf->free_strings);
ep->default_desc = NULL;
}
- while (ep->other_desc)
- {
- Edje_Part_Description *desc;
-
- desc = eina_list_data_get(ep->other_desc);
- ep->other_desc = eina_list_remove(ep->other_desc, desc);
- _edje_collection_free_part_description_free(desc, edf->free_strings);
- }
+ EINA_LIST_FREE(ep->other_desc, desc)
+ _edje_collection_free_part_description_free(desc, edf->free_strings);
free(ep);
}
if (ec->data)
{
- while (ec->data)
- {
- Edje_Data *edt;
+ Edje_Data *edt;
- edt = eina_list_data_get(ec->data);
- ec->data = eina_list_remove(ec->data, edt);
+ EINA_LIST_FREE(ec->data, edt)
+ {
if (edf->free_strings)
{
if (edt->key) eina_stringshare_del(edt->key);
void
_edje_collection_free_part_description_free(Edje_Part_Description *desc, unsigned int free_strings)
{
- while (desc->image.tween_list)
- {
- Edje_Part_Image_Id *pi;
+ Edje_Part_Image_Id *pi;
- pi = eina_list_data_get(desc->image.tween_list);
- desc->image.tween_list = eina_list_remove(desc->image.tween_list, pi);
- free(pi);
- }
+ EINA_LIST_FREE(desc->image.tween_list, pi)
+ free(pi);
if (free_strings)
{
if (desc->color_class) eina_stringshare_del(desc->color_class);