edje: refactoring.
authorcedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Tue, 31 May 2011 17:02:58 +0000 (17:02 +0000)
committercedric <cedric@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Tue, 31 May 2011 17:02:58 +0000 (17:02 +0000)
git-svn-id: http://svn.enlightenment.org/svn/e/trunk/edje@59851 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/edje_main.c

index f802ec1..31175bd 100644 (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)
-     {
-       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)
+   EINA_LIST_FREE(ed->actions, runp)
+     free(runp);
+   EINA_LIST_FREE(ed->pending_actions, pp)
+     free(pp);
+   EINA_LIST_FREE(ed->callbacks, escb)
      {
-       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);
      }