use EINA_LIST_FOREACH_SAFE
authorSooChan Lim <sc1.lim@samsung.com>
Tue, 14 Jun 2016 04:42:28 +0000 (13:42 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Tue, 14 Jun 2016 04:42:28 +0000 (13:42 +0900)
Change-Id: I2539ff821da83f6fbe97db660d4d04f3cedfff9d

src/bin/e_output.c
src/bin/e_plane.c

index 5e68011f41dfc14d7c65df0d10b5d017b08e550b..2b4e23c8da272b7e38ba220227cfa3c8ce664c94 100644 (file)
@@ -9,14 +9,12 @@ _e_output_commit_hanler(tdm_output *output, unsigned int sequence,
 {
    Eina_List *data_list = user_data;
    E_Plane_Commit_Data *data = NULL;
-   Eina_List *l;
-
-   ELOGF("E_OUTPUT", "Commit handler", NULL, NULL);
+   Eina_List *l, *ll;
 
-   EINA_LIST_REVERSE_FOREACH(data_list, l, data)
+   EINA_LIST_FOREACH_SAFE(data_list, l, ll, data)
      {
-        data_list = eina_list_remove_list(data_list, l);
         e_plane_commit_data_release(data);
+        data_list = eina_list_remove_list(data_list, l);
         data = NULL;
      }
 }
@@ -27,7 +25,7 @@ _e_output_commit(E_Output *output)
    Eina_List *data_list = NULL;
    E_Plane_Commit_Data *data = NULL;
    E_Plane *plane = NULL;
-   Eina_List *l;
+   Eina_List *l, *ll;
    tdm_error error;
 
    EINA_LIST_REVERSE_FOREACH(output->planes, l, plane)
@@ -41,7 +39,7 @@ _e_output_commit(E_Output *output)
    if (error != TDM_ERROR_NONE)
      {
         ERR("fail to tdm_output_commit");
-        EINA_LIST_REVERSE_FOREACH(data_list, l, data)
+        EINA_LIST_FOREACH_SAFE(data_list, l, ll, data)
           {
              data_list = eina_list_remove_list(data_list, l);
              e_plane_commit_data_release(data);
index 6a85f33a33117c6049808cfd1521d570ed560439..69aeb56a075e191b1c88e273edb75dfe049739ec 100644 (file)
@@ -191,10 +191,10 @@ static void
 _e_plane_client_cb_del(void *data EINA_UNUSED, E_Client *ec)
 {
    E_Plane_Client *plane_client = NULL;
-   Eina_List *l = NULL;
+   Eina_List *l, *ll;
 
    /* destroy the plane_client */
-   EINA_LIST_FOREACH(plane_clients, l, plane_client)
+   EINA_LIST_FOREACH_SAFE(plane_clients, l, ll, plane_client)
      {
         if (!plane_client) continue;
         if (plane_client->ec == ec)
@@ -212,9 +212,9 @@ E_Plane_Client *
 _e_plane_client_find(E_Client *ec)
 {
    E_Plane_Client *plane_client = NULL;
-   const Eina_List *l;
+   Eina_List *l, *ll;
 
-   EINA_LIST_FOREACH(plane_clients, l, plane_client)
+   EINA_LIST_FOREACH_SAFE(plane_clients, l, ll, plane_client)
      {
         if (!plane_client) continue;
         if (plane_client->ec == ec) return plane_client;