From 1efa31f725f81c4625ba4355220aea7e0cef8e38 Mon Sep 17 00:00:00 2001 From: "Junseok, Kim" Date: Thu, 19 Mar 2020 16:58:31 +0900 Subject: [PATCH] e_policy_visibility: cancel lower job before client activate Change-Id: Iec4c8aaab2c10c6642b2e1eb3e669036eb471e7a --- src/bin/e_policy_visibility.c | 10 ++++++++++ src/bin/e_policy_visibility.h | 1 + src/bin/e_policy_wl.c | 2 ++ 3 files changed, 13 insertions(+) diff --git a/src/bin/e_policy_visibility.c b/src/bin/e_policy_visibility.c index 777f484..7d05740 100644 --- a/src/bin/e_policy_visibility.c +++ b/src/bin/e_policy_visibility.c @@ -2166,6 +2166,16 @@ e_policy_visibility_client_hide_job_cancel(E_Client *ec) return _e_vis_job_cancel(vc, E_VIS_JOB_TYPE_HIDE); } +EINTERN Eina_Bool +e_policy_visibility_client_lower_job_cancel(E_Client *ec) +{ + if (!ec) return EINA_FALSE; + E_VIS_CLIENT_GET_OR_RETURN_VAL(vc, ec, EINA_FALSE); + + VS_INF(ec, "Find and Cancel LOWER job..."); + return _e_vis_job_cancel(vc, E_VIS_JOB_TYPE_LOWER); +} + E_API Eina_Bool e_policy_visibility_client_raise(E_Client *ec) { diff --git a/src/bin/e_policy_visibility.h b/src/bin/e_policy_visibility.h index f16d582..9128898 100644 --- a/src/bin/e_policy_visibility.h +++ b/src/bin/e_policy_visibility.h @@ -61,6 +61,7 @@ E_API E_Vis_Grab *e_policy_visibility_client_filtered_grab_get(E E_API void e_policy_visibility_client_grab_release(E_Vis_Grab *grab); E_API Eina_Bool e_policy_visibility_client_grab_cancel(E_Client *ec); E_API Eina_Bool e_policy_visibility_client_hide_job_cancel(E_Client *ec); +EINTERN Eina_Bool e_policy_visibility_client_lower_job_cancel(E_Client *ec); E_API E_Pol_Vis_Hook *e_policy_visibility_hook_add(E_Pol_Vis_Hook_Type type, E_Pol_Vis_Hook_Cb cb, const void *data); E_API void e_policy_visibility_hook_del(E_Pol_Vis_Hook *h); E_API Eina_Bool e_policy_visibility_client_is_iconic(E_Client *ec); diff --git a/src/bin/e_policy_wl.c b/src/bin/e_policy_wl.c index 8bc3115..1811c5c 100644 --- a/src/bin/e_policy_wl.c +++ b/src/bin/e_policy_wl.c @@ -1488,6 +1488,8 @@ e_policy_wl_activate(E_Client *ec) ELOGF("TZPOL", "REAL ACTIVATE", ec); + e_policy_visibility_client_lower_job_cancel(ec); + if ((!starting) && (!ec->focused) && (!ec->visibility.force_obscured)) { if (!e_policy_visibility_client_activate(ec)) -- 2.7.4