e_policy_visibility: check the ec's force_obscured flag in _e_vis_ec_activity_check() 17/191117/1 accepted/tizen/5.0/unified/20181102.024347 accepted/tizen/unified/20181012.083507 submit/tizen/20181011.124722 submit/tizen_5.0/20181101.000006
authorDoyoun Kang <doyoun.kang@samsung.com>
Thu, 11 Oct 2018 10:52:31 +0000 (19:52 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Thu, 11 Oct 2018 10:52:34 +0000 (19:52 +0900)
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

index aa8fc05..594d86f 100644 (file)
@@ -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;
 }