e_policy_stack: set transient_policy while handling transient_for/parent_set 80/262880/2 accepted/tizen/unified/20210823.124203 submit/tizen/20210823.075037
authorDoyoun Kang <doyoun.kang@samsung.com>
Mon, 23 Aug 2021 04:39:49 +0000 (13:39 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Mon, 23 Aug 2021 05:30:33 +0000 (14:30 +0900)
There was a bug that the transient child window placed under the parent when it set
transient_for. This bug was occured when the window set the transient_for(or parent) to
BELOW and then set the transient_for(or parent) ABOVE again.

So, we add the code that sets the transient policy whenever the window set the transient_for
(or parent).

Change-Id: Id209d92f4ffbaf9a64b1f59e3114e3c0bd6b9f3a

src/bin/e_policy_stack.c

index 0e89581..84c0ce3 100644 (file)
@@ -364,12 +364,14 @@ _e_policy_stack_transient_for_set(E_Client *ec, E_Client *parent, Eina_Bool tran
 void
 e_policy_stack_parent_set(E_Client *ec, E_Client *parent)
 {
+   e_client_transient_policy_set(ec, E_TRANSIENT_ABOVE);
    _e_policy_stack_transient_for_set(ec, parent, EINA_FALSE);
 }
 
 void
 e_policy_stack_transient_for_set(E_Client *ec, E_Client *parent)
 {
+   e_client_transient_policy_set(ec, E_TRANSIENT_ABOVE);
    _e_policy_stack_transient_for_set(ec, parent, EINA_TRUE);
 }