e_plane_renderer: check redirect of ec if state is candidate 51/196251/2
authorChangyeon Lee <cyeon.lee@samsung.com>
Wed, 26 Dec 2018 12:34:42 +0000 (21:34 +0900)
committerChangyeon Lee <cyeon.lee@samsung.com>
Thu, 27 Dec 2018 02:44:17 +0000 (11:44 +0900)
candidate state means that ec isn't set to plane so we need to check
redirect of ec in deactivate.

Change-Id: I83be69b3341abdc6206f7876f3bd338b5fd12d94

src/bin/e_plane_renderer.c

index 1f5cbce..d84668d 100644 (file)
@@ -2007,14 +2007,23 @@ e_plane_renderer_reserved_deactivate(E_Plane_Renderer *renderer)
    if (!usable)
      e_pixmap_usable_set(ec->pixmap, EINA_FALSE);
 
-   if (plane->ec_redirected)
+   if (renderer->state == E_PLANE_RENDERER_STATE_CANDIDATE)
+     {
+        if (!ec->redirected)
+          goto done;
+     }
+   else
      {
-        /* force update */
-        e_pixmap_image_refresh(ec->pixmap);
-        e_comp_object_damage(ec->frame, 0, 0, ec->w, ec->h);
-        e_comp_object_dirty(ec->frame);
-        e_comp_object_render(ec->frame);
+        if (!plane->ec_redirected)
+          goto done;
      }
+
+   /* force update */
+   e_pixmap_image_refresh(ec->pixmap);
+   e_comp_object_damage(ec->frame, 0, 0, ec->w, ec->h);
+   e_comp_object_dirty(ec->frame);
+   e_comp_object_render(ec->frame);
+
 done:
    ELOGF("E_PLANE_RENDERER", "Deactivate Renderer(%p) Plane(%p) ec(%p, %s)",
          ec, renderer, renderer->plane, ec, e_client_util_name_get(ec));