}
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;
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);
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);
}
// --------------------------------------------------------