From: Junseok Kim Date: Wed, 30 Oct 2024 08:10:45 +0000 (+0900) Subject: e_policy_visibility: Skip uniconify render when the client sets BG state X-Git-Tag: accepted/tizen/unified/20241101.174206~1 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0ed0d3a7f10162941792f646c0f833b0f67ddf11;p=platform%2Fupstream%2Fenlightenment.git e_policy_visibility: Skip uniconify render when the client sets BG state Until now, only the iconified clients are pended for uniconify render when client sets Backgroud state. However, when the client that in iconifed and background state requests uniconify and lower, There was a issue that the client raise to the top when the client ends their uniconify rendering. Keypoint of issue is inconsistent of the client's uniconify render and cancellation conditions. During the client's uniconify process, the client checks for both the background state and the iconic state before performing the uniconify rendering operation. however, during the client's lower process, the client only checks the background state and it causes did not canceling the uniconify render job, which is caused the problem. To fix this issue and maintain consistency, only the background state will be checked excluding the iconic state when client requests raise, activate, and uniconify. Change-Id: I9252b3acc6768eb2b3be6b13b7ee405640109006 --- diff --git a/src/bin/windowmgr/e_policy_visibility.c b/src/bin/windowmgr/e_policy_visibility.c index 44e2256142..1054b32430 100644 --- a/src/bin/windowmgr/e_policy_visibility.c +++ b/src/bin/windowmgr/e_policy_visibility.c @@ -2503,7 +2503,7 @@ e_policy_visibility_client_raise(E_Client *ec) if (e_client_is_iconified_by_client(ec)) return EINA_FALSE; - if (!ec->iconic && ec->bg_state) + if (ec->bg_state) { ELOGF("POL", "Currently bg_state. so return...", ec); return EINA_FALSE; @@ -2641,7 +2641,7 @@ e_policy_visibility_client_uniconify(E_Client *ec, Eina_Bool raise) return EINA_FALSE; } - if (!ec->iconic && ec->bg_state) + if (ec->bg_state) { ELOGF("POL", "Currently bg_state. so return...", ec); return EINA_FALSE; @@ -2695,7 +2695,7 @@ e_policy_visibility_client_activate(E_Client *ec) E_VIS_CLIENT_GET_OR_RETURN_VAL(vc, ec, EINA_FALSE); - if (!ec->iconic && ec->bg_state) + if (ec->bg_state) { ELOGF("POL", "Currently bg_state. so return...", ec); return EINA_FALSE;