From 26fb778c7afe7ffa00d4f4615f192f2c1c1ca5da Mon Sep 17 00:00:00 2001 From: Changyeon Lee Date: Wed, 26 Dec 2018 21:34:42 +0900 Subject: [PATCH] e_plane_renderer: check redirect of ec if state is candidate 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 | 21 +++++++++++++++------ 1 file changed, 15 insertions(+), 6 deletions(-) diff --git a/src/bin/e_plane_renderer.c b/src/bin/e_plane_renderer.c index 1f5cbce..d84668d 100644 --- a/src/bin/e_plane_renderer.c +++ b/src/bin/e_plane_renderer.c @@ -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)); -- 2.7.4