e_policy_stack: remove restack children code in e_policy_stack_below/above 25/266025/1
authorDoyoun Kang <doyoun.kang@samsung.com>
Thu, 4 Nov 2021 06:24:24 +0000 (15:24 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Thu, 4 Nov 2021 06:24:28 +0000 (15:24 +0900)
There was a bug that the transient_below children was placed above on the parent window
when the parent restacked using stack_above or stack_below.
This was because there was no check code the children's transient_policy.

To fix this problem, we just remove code which restack children in e_policy_stack_below/above
because if the window's stack is changed, then its children will be restacked in
_e_client_cb_evas_restack().

Change-Id: Ib7f832f2d44c3d22b3b924b489206210f9e2cd99

src/bin/e_policy_stack.c

index 05fdb6c..f82cae0 100644 (file)
@@ -462,16 +462,6 @@ e_policy_stack_below(E_Client *ec, E_Client *below_ec)
    EINA_SAFETY_ON_NULL_RETURN(below_ec->frame);
 
    e_client_stack_below(ec, below_ec);
-   if (e_config->transient.iconify)
-     {
-        E_Client *child;
-        Eina_List *list = eina_list_clone(ec->transients);
-
-        EINA_LIST_FREE(list, child)
-          {
-             e_policy_stack_below(child, below_ec);
-          }
-     }
 }
 
 void
@@ -484,16 +474,6 @@ e_policy_stack_above(E_Client *ec, E_Client *above_ec)
    EINA_SAFETY_ON_NULL_RETURN(above_ec->frame);
 
    e_client_stack_above(ec, above_ec);
-   if (e_config->transient.iconify)
-     {
-        E_Client *child;
-        Eina_List *list = eina_list_clone(ec->transients);
-
-        EINA_LIST_FREE(list, child)
-          {
-             e_policy_stack_above(child, ec);
-          }
-     }
 }
 
 static E_Client *