e_policy_wl: doing uniconify render when client requests lower by resource id 27/325227/1
authorJunseok Kim <juns.kim@samsung.com>
Wed, 28 May 2025 08:12:15 +0000 (17:12 +0900)
committerTizen Window System <tizen.windowsystem@gmail.com>
Thu, 5 Jun 2025 00:23:46 +0000 (09:23 +0900)
Change-Id: I8bc21f36c3192ff75c50fd3df68175edfbd04821

src/bin/server/e_policy_wl.c

index da7642b333cb4e49c3d151abebae876f8803a74f..44d238d31f45b043a60555784f44c56919d33264 100644 (file)
@@ -1080,21 +1080,15 @@ _tzpol_iface_cb_raise(struct wl_client *client EINA_UNUSED, struct wl_resource *
 }
 
 static void
-_tzpol_iface_cb_lower(struct wl_client *client EINA_UNUSED, struct wl_resource *res_tzpol EINA_UNUSED, struct wl_resource *surf)
+_e_policy_wl_lower(E_Client *ec, Eina_Bool need_hook_call)
 {
-   E_Client *ec = NULL;
    E_Comp_Wl_Client_Data *cdata;
 
-   ec = e_client_from_surface_resource(surf);
-   EINA_SAFETY_ON_NULL_RETURN(ec);
-   EINA_SAFETY_ON_NULL_RETURN(e_client_view_get(ec));
-
-   ELOGF("TZPOL", "LOWER", ec);
-
    if (ec->parent)
      e_policy_stack_transient_child_lower(ec);
 
-   e_policy_hook_call(E_POLICY_HOOK_CLIENT_LOWER_REQ, ec);
+   if (need_hook_call)
+     e_policy_hook_call(E_POLICY_HOOK_CLIENT_LOWER_REQ, ec);
 
    if (e_policy_visibility_client_lower(ec))
      return;
@@ -1109,11 +1103,24 @@ _tzpol_iface_cb_lower(struct wl_client *client EINA_UNUSED, struct wl_resource *
    e_client_lower(ec);
 }
 
+static void
+_tzpol_iface_cb_lower(struct wl_client *client EINA_UNUSED, struct wl_resource *res_tzpol EINA_UNUSED, struct wl_resource *surf)
+{
+   E_Client *ec = NULL;
+
+   ec = e_client_from_surface_resource(surf);
+   EINA_SAFETY_ON_NULL_RETURN(ec);
+   EINA_SAFETY_ON_NULL_RETURN(e_client_view_get(ec));
+
+   ELOGF("TZPOL", "LOWER", ec);
+
+   _e_policy_wl_lower(ec, EINA_TRUE);
+}
+
 static void
 _tzpol_iface_cb_lower_by_res_id(struct wl_client *client EINA_UNUSED, struct wl_resource *res_tzpol,  uint32_t res_id)
 {
    E_Client *ec = NULL;
-   E_Comp_Wl_Client_Data *cdata;
 
    ec = e_pixmap_find_client_by_res_id(res_id);
    EINA_SAFETY_ON_NULL_RETURN(ec);
@@ -1121,17 +1128,7 @@ _tzpol_iface_cb_lower_by_res_id(struct wl_client *client EINA_UNUSED, struct wl_
 
    ELOGF("TZPOL", "LOWER by res id:%d", ec, res_id);
 
-   if (ec->parent)
-     e_policy_stack_transient_child_lower(ec);
-
-   e_client_lower(ec);
-
-   cdata = e_client_cdata_get(ec);
-   if (cdata && !cdata->mapped)
-     {
-        ELOGF("TZPOL", "POST_RAISE_LOWER SET... raise:%d, lower:%d", ec, EINA_FALSE, EINA_TRUE);
-        e_client_post_raise_lower_set(ec, EINA_FALSE, EINA_TRUE);
-     }
+   _e_policy_wl_lower(ec, EINA_FALSE);
 }
 
 // --------------------------------------------------------