From: Changyeon Lee Date: Wed, 7 Oct 2020 07:16:06 +0000 (+0900) Subject: e_comp_object: update comp_object when it is shown X-Git-Tag: submit/tizen/20201015.093949~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=062d224b777a5c7f326fc2782afaba8dd5ce8984;p=platform%2Fupstream%2Fenlightenment.git e_comp_object: update comp_object when it is shown if comp object is shown in idle enterer before(E_CLIENT_HOOK_EVAL_FETCH), it is rendered in idle callback without native surface and compositor shows an empty frame if other objects aren't shown because job callback of e_comp called at the next loop. it causes a visual defect when windows are switched. Change-Id: I336f5bb0ec941fbd23407a1c7488de25c96a0766 --- diff --git a/src/bin/e_comp_object.c b/src/bin/e_comp_object.c index 883a5e1fff..19b236c635 100644 --- a/src/bin/e_comp_object.c +++ b/src/bin/e_comp_object.c @@ -2433,6 +2433,20 @@ _e_comp_intercept_show_helper(E_Comp_Object *cw) { ELOGF("COMP", "show_helper. evas_object_show!!!", ec); evas_object_show(cw->smart_obj); + + /* if comp object is shown in idle enterer before(E_CLIENT_HOOK_EVAL_FETCH), + it is rendered in idle callback without native surface and + compositor shows an empty frame if other objects aren't shown + because job callback of e_comp called at the next loop. + it causes a visual defect when windows are switched. + */ + if (cw->redirected) + { + e_comp_object_damage(cw->smart_obj, 0, 0, cw->w, cw->h); + e_comp_object_dirty(cw->smart_obj); + e_comp_object_render(cw->smart_obj); + } + if (!ec->iconic || e_policy_visibility_client_is_uniconic(ec)) {