e_plane: check pp pending lists by eina_list_count
authorJunkyeong Kim <jk0430.kim@samsung.com>
Fri, 13 Oct 2017 09:34:00 +0000 (18:34 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Wed, 18 Oct 2017 05:49:53 +0000 (14:49 +0900)
Change-Id: Ic0102df1ffeeb5f4d6d1b1b5a32491f9aec3e32a
Signed-off-by: Junkyeong Kim <jk0430.kim@samsung.com>
src/bin/e_plane.c

index 87b5e82..be47957 100644 (file)
@@ -795,28 +795,40 @@ _e_plane_pp_layer_commit_handler(tdm_layer *layer, unsigned int sequence,
      ELOGF("E_PLANE", "PP Layer Commit Handler Plane(%p)", NULL, NULL, plane);
 
    /* deal with the pending layer commit */
-   data = eina_list_nth(plane->pending_pp_commit_data_list, 0);
-   if (data)
+   if (eina_list_count(plane->pending_pp_commit_data_list) != 0)
      {
-        plane->pending_pp_commit_data_list = eina_list_remove(plane->pending_pp_commit_data_list, data);
-
-        if (!_e_plane_pp_layer_data_commit(plane, data))
+        data = eina_list_nth(plane->pending_pp_commit_data_list, 0);
+        if (data)
           {
-             ERR("fail to _e_plane_pp_layer_commit");
-             return;
+             plane->pending_pp_commit_data_list = eina_list_remove(plane->pending_pp_commit_data_list, data);
+
+             if (plane_trace_debug)
+               ELOGF("E_PLANE", "PP Layer Commit Handler start pending commit data(%p) tsurface(%p)", NULL, NULL, data, data->tsurface);
+
+             if (!_e_plane_pp_layer_data_commit(plane, data))
+               {
+                  ERR("fail to _e_plane_pp_layer_commit");
+                  return;
+               }
           }
      }
 
    /* deal with the pending pp commit */
-   data = eina_list_nth(plane->pending_pp_data_list, 0);
-   if (data)
+   if (eina_list_count(plane->pending_pp_data_list) != 0)
      {
-        plane->pending_pp_data_list = eina_list_remove(plane->pending_pp_data_list, data);
-
-        if (!_e_plane_pp_commit(plane, data))
+        data = eina_list_nth(plane->pending_pp_data_list, 0);
+        if (data)
           {
-             ERR("fail _e_plane_pp_commit");
-             return;
+             plane->pending_pp_data_list = eina_list_remove(plane->pending_pp_data_list, data);
+
+             if (plane_trace_debug)
+               ELOGF("E_PLANE", "PP Layer Commit Handler start pending pp data(%p) tsurface(%p)", NULL, NULL, data, data->tsurface);
+
+             if (!_e_plane_pp_commit(plane, data))
+               {
+                  ERR("fail _e_plane_pp_commit");
+                  return;
+               }
           }
      }
 }