From 9dc22ff3462733eb8775bf3470e4a2040f117859 Mon Sep 17 00:00:00 2001 From: Doyoun Kang Date: Thu, 11 Oct 2018 19:52:31 +0900 Subject: [PATCH] e_policy_visibility: check the ec's force_obscured flag in _e_vis_ec_activity_check() There was a bug that the force_obscured window was uniconified and resumed by a pre-unobscured visibility event as below sequence. e_policy_visibility_client_lower/hide/iconify() -> _e_vis_ec_below_uniconify() While handling _e_vis_ec_below_uniconify(), we need checking the force_obscured flag of a below ec to skip uniconify it. So, we add checking code in _e_vis_ec_activity_check(). Change-Id: I09485c6ef091e3459fb05496fdc04d61e50cbe69 --- src/bin/e_policy_visibility.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/bin/e_policy_visibility.c b/src/bin/e_policy_visibility.c index aa8fc05..594d86f 100644 --- a/src/bin/e_policy_visibility.c +++ b/src/bin/e_policy_visibility.c @@ -1443,6 +1443,10 @@ _e_vis_ec_activity_check(E_Client *ec, Eina_Bool check_alpha) e_client_geometry_get(ec, &x, &y, &w, &h); if (!E_CONTAINS(x, y, w, h, ec->desk->geom.x, ec->desk->geom.y, ec->desk->geom.w, ec->desk->geom.h)) return EINA_FALSE; + /* check if obscured by force */ + if (ec->visibility.force_obscured) + return EINA_FALSE; + return EINA_TRUE; } -- 2.7.4