e_policy_stack: unset post_raise/lower flag after changing transient stack 79/275679/1 submit/tizen/20220530.053139
authorDoyoun Kang <doyoun.kang@samsung.com>
Mon, 30 May 2022 02:00:33 +0000 (11:00 +0900)
committerJunseok Kim <juns.kim@samsung.com>
Mon, 30 May 2022 04:27:59 +0000 (13:27 +0900)
There was a bug that the transient child window was raised when it requested map.
This was due to the post_raise flag.

To resolve this, e resets the post_raise/post_lower flag after applying transient_for stack.

Change-Id: I8a263ad658a56dc55e2dc8dde850a51fb3d4ec2b

src/bin/e_policy_stack.c

index 090deeb..23036a7 100644 (file)
@@ -166,6 +166,13 @@ _e_policy_stack_transient_for_apply(E_Client *ec)
           e_client_stack_above(ec, top);
         else
           e_client_stack_above(ec, ec->parent);
+
+        if (ec->post_raise || ec->post_lower)
+          {
+             ELOGF("TZPOL", "Unset post_raise:%d, post_lower:%d by applying transient above", ec, ec->post_raise, ec->post_lower);
+             ec->post_raise = EINA_FALSE;
+             ec->post_lower = EINA_FALSE;
+          }
      }
    else if (transient_policy == E_TRANSIENT_BELOW)
      {
@@ -214,6 +221,13 @@ _e_policy_stack_transient_for_apply(E_Client *ec)
              else
                e_client_stack_below(ec, ec->parent);
           }
+
+        if (ec->post_raise || ec->post_lower)
+          {
+             ELOGF("TZPOL", "Unset post_raise:%d, post_lower:%d by applying transient below", ec, ec->post_raise, ec->post_lower);
+             ec->post_raise = EINA_FALSE;
+             ec->post_lower = EINA_FALSE;
+          }
      }
 }