e_policy_visibility: do not below_iconify when ec is transparent 59/256459/1 tizen_5.5
authorJunseok, Kim <juns.kim@samsung.com>
Fri, 2 Apr 2021 07:08:12 +0000 (16:08 +0900)
committerJunSeok Kim <juns.kim@samsung.com>
Mon, 5 Apr 2021 02:36:55 +0000 (02:36 +0000)
No need to below uniconify if the lower / hide window is transparent.
Because of below windows are already uniconic state.

Change-Id: I1c94ae0080e9fd97d075cb6ab7669cfbc13b9b38
Signed-off-by: Junseok, Kim <juns.kim@samsung.com>
src/bin/e_policy_visibility.c

index c261f2a5c9d0fa19b49b37e653c3da5cae02d562..c2ad717e4b67fcbccafb1486aea951381f792848 100644 (file)
@@ -2115,6 +2115,12 @@ _e_vis_intercept_hide(void *data EINA_UNUSED, E_Client *ec)
         return EINA_FALSE;
      }
 
+   if (ec->argb)
+     {
+        VS_DBG(ec, "Window is transparent.");
+        pending = EINA_FALSE;
+     }
+
    if (_e_vis_client_is_below_uniconify_skip(vc))
      {
         VS_DBG(ec, "Skip to uniconify below client");
@@ -2323,6 +2329,12 @@ e_policy_visibility_client_lower(E_Client *ec)
    /* if vc has job grab, release them */
    _e_vis_client_grab_cancel(vc);
 
+   if (ec->argb)
+     {
+        VS_DBG(ec, "Window is transparent.");
+        ret = EINA_FALSE;
+     }
+
    above_vis_type = _e_vis_ec_above_visible_type(ec, EINA_TRUE);
    if (above_vis_type == E_POL_VIS_TYPE_NON_ALPHA)
      {
@@ -2362,6 +2374,12 @@ e_policy_visibility_client_iconify(E_Client *ec)
    /* if vc has job grab, release them */
    _e_vis_client_grab_cancel(vc);
 
+   if (ec->argb)
+     {
+        VS_DBG(ec, "Window is transparent.");
+        return EINA_FALSE;
+     }
+
    if (ec->iconic) return EINA_FALSE;
 
    above_vis_type = _e_vis_ec_above_visible_type(ec, EINA_TRUE);
@@ -2466,6 +2484,12 @@ e_policy_visibility_client_layer_lower(E_Client *ec, E_Layer layer)
    /* if vc has job grab, release them */
    _e_vis_client_grab_cancel(vc);
 
+   if (ec->argb)
+     {
+        VS_DBG(ec, "Window is transparent.");
+        return EINA_FALSE;
+     }
+
    above_vis_type = _e_vis_ec_above_visible_type(ec, EINA_TRUE);
    if (above_vis_type == E_POL_VIS_TYPE_NON_ALPHA)
      {