e_policy_visibility: check the exception conditions at exposed function. 04/295504/2
authorSooChan Lim <sc1.lim@samsung.com>
Fri, 7 Jul 2023 08:32:36 +0000 (17:32 +0900)
committerSooChan Lim <sc1.lim@samsung.com>
Mon, 10 Jul 2023 06:29:02 +0000 (06:29 +0000)
The exception conditions are checked at the exposed function and internal(static)
functions does not check those conditions.

Change-Id: I1885d08db036bb1c79c75a2bb5670455b8eaea97

src/bin/e_policy_visibility.c

index e89e8f9..0ccf0c0 100644 (file)
@@ -417,7 +417,7 @@ _e_policy_client_below_uniconify(E_Client *ec)
 
         if (below_ec->visibility.obscured == E_VISIBILITY_FULLY_OBSCURED)
           {
-             _e_policy_client_uniconify_by_visibility(below_ec);
+             e_policy_client_uniconify_by_visibility(below_ec);
           }
 
         break;
@@ -429,17 +429,6 @@ _e_policy_client_uniconify_by_visibility(E_Client *ec)
 {
    Eina_Bool ret = EINA_FALSE;
 
-   if (!ec) return;
-   if (e_object_is_del(E_OBJECT(ec))) return;
-   if (!ec->iconic) return;
-   if (e_client_is_iconified_by_client(ec)) return;
-   if (ec->bg_state) return;
-   if (ec->exp_iconify.skip_iconify) return;
-   if (ec->exp_iconify.skip_by_remote) return;
-
-   E_Comp_Wl_Client_Data *cdata = (E_Comp_Wl_Client_Data *)ec->comp_data;
-   if (cdata && !cdata->mapped) return;
-
    _e_policy_client_ancestor_uniconify(ec);
 
    ELOGF("UNICONIFY_BY_WM", "win:0x%08zx, argb:%d", ec, e_client_util_win_get(ec), ec->argb);
@@ -486,7 +475,19 @@ e_policy_client_iconify_by_visibility(E_Client *ec)
 EINTERN void
 e_policy_client_uniconify_by_visibility(E_Client *ec)
 {
+   E_Comp_Wl_Client_Data *cdata;
+
    if (!ec) return;
+   if (e_object_is_del(E_OBJECT(ec))) return;
+   if (!ec->iconic) return;
+   if (e_client_is_iconified_by_client(ec)) return;
+   if (ec->bg_state) return;
+   if (ec->exp_iconify.skip_iconify) return;
+   if (ec->exp_iconify.skip_by_remote) return;
+
+   cdata = (E_Comp_Wl_Client_Data *)ec->comp_data;
+   if (cdata && !cdata->mapped) return;
+
    _e_policy_client_uniconify_by_visibility(ec);
 }