e_plane: do not set surface to layer if output of dpms is OFF 06/144806/4
authorChangyeon Lee <cyeon.lee@samsung.com>
Fri, 18 Aug 2017 04:35:06 +0000 (13:35 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Fri, 25 Aug 2017 06:56:30 +0000 (06:56 +0000)
Change-Id: I52b4882e2dc3553af70449175860e2bcef607689

src/bin/e_plane.c

index 47ad784..d6e542b 100644 (file)
@@ -1261,9 +1261,13 @@ EINTERN Eina_Bool
 e_plane_fetch(E_Plane *plane)
 {
    tbm_surface_h tsurface = NULL;
+   E_Output *output = NULL;
 
    EINA_SAFETY_ON_NULL_RETURN_VAL(plane, EINA_FALSE);
 
+   output = plane->output;
+   EINA_SAFETY_ON_NULL_RETURN_VAL(output, EINA_FALSE);
+
    if (e_comp_canvas_norender_get() > 0)
      {
         if (plane_trace_debug)
@@ -1323,12 +1327,15 @@ e_plane_fetch(E_Plane *plane)
 
         plane->tsurface = tsurface;
 
-        /* set plane info and set tsurface to the plane */
-        if (!_e_plane_surface_set(plane, tsurface))
+        if (output->dpms != E_OUTPUT_DPMS_OFF)
           {
-             ERR("fail: _e_plane_set_info.");
-             e_plane_unfetch(plane);
-             return EINA_FALSE;
+             /* set plane info and set tsurface to the plane */
+             if (!_e_plane_surface_set(plane, tsurface))
+               {
+                  ERR("fail: _e_plane_set_info.");
+                  e_plane_unfetch(plane);
+                  return EINA_FALSE;
+               }
           }
 
         /* set the update_exist to be true */