From: Junseok, Kim Date: Thu, 3 Dec 2020 06:12:04 +0000 (+0900) Subject: e_policy: send iconify state change event when ec vis turn on and didn't send event. X-Git-Tag: submit/tizen/20201206.010849~2 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=6a96f56019e76cc8bf5f3affb51afa41858ed7a0;p=platform%2Fupstream%2Fenlightenment.git e_policy: send iconify state change event when ec vis turn on and didn't send event. Added last_sent_type for store latest iconify_state_change event. and send iconify_state_change event when ec turn to visibility on and didn't send the event. Change-Id: I74c33b4ade57c095c2287273d54a4ae1237666c2 Signed-off-by: Junseok, Kim --- diff --git a/src/bin/e_client.h b/src/bin/e_client.h index 5406568b5e..e636838461 100644 --- a/src/bin/e_client.h +++ b/src/bin/e_client.h @@ -886,6 +886,7 @@ struct E_Client unsigned char skip_by_remote : 1; // skip iconify by remote surface client unsigned char deiconify_update : 1; // wait client render if deiconify_update is 1 unsigned char buffer_flush : 1; // 0: no flush, 1: flush buffer when iconify + unsigned char last_sent_iconic : 1; // 0: uniconify, 1: iconify } exp_iconify; struct diff --git a/src/bin/e_policy.c b/src/bin/e_policy.c index 424bd4ae04..7969f12702 100644 --- a/src/bin/e_policy.c +++ b/src/bin/e_policy.c @@ -884,6 +884,8 @@ _e_policy_cb_hook_client_visibility(void *d EINA_UNUSED, E_Client *ec) if (ec->visibility.obscured == E_VISIBILITY_UNOBSCURED) { e_policy_client_uniconify_by_visibility(ec); + if ((ec->iconic == 0) && (ec->exp_iconify.last_sent_iconic != 0)) + e_policy_wl_iconify_state_change_send(ec, 0); if (ec->visibility.last_sent_type != E_VISIBILITY_PRE_UNOBSCURED) { ELOGF("POL_VIS", "SEND pre-unobscured visibility event", ec); diff --git a/src/bin/e_policy_wl.c b/src/bin/e_policy_wl.c index 3f752b3c65..842e4bae75 100644 --- a/src/bin/e_policy_wl.c +++ b/src/bin/e_policy_wl.c @@ -1172,6 +1172,7 @@ e_policy_wl_iconify_state_change_send(E_Client *ec, int iconic) "SEND |iconic:%d |argb:%d |sur:%p", ec, iconic, ec->argb, psurf->surf); + ec->exp_iconify.last_sent_iconic = iconic; break; } eina_iterator_free(it);