From 89e51f6e2d5f5e03db95972e735efa1aff0f18f5 Mon Sep 17 00:00:00 2001 From: Doyoun Kang Date: Wed, 26 Jan 2022 16:05:01 +0900 Subject: [PATCH] e_policy_visibility: reset vc->state to ICONIC while canceling visibility job There was a bug that the window's iconic_state_change event didn't send to the client in _e_vis_client_add_uniconify_render_pending. This was because the vc->state was remained to E_VIS_ICONIFY_STATE_RUNNING_UNICONIFY_RENDER_DONE. This can be occurred when the uniconify_by_visibility job is canceled. To resolve this problem, we add code to set the vc->state to E_VIS_ICONIFY_STATE_ICONIC in uniconify_by_visibility job cancel function. Change-Id: Ie2873be552b15cb3216f1d1dcc3f587807769cb4 --- src/bin/e_policy_visibility.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/bin/e_policy_visibility.c b/src/bin/e_policy_visibility.c index da9430c..5226b31 100644 --- a/src/bin/e_policy_visibility.c +++ b/src/bin/e_policy_visibility.c @@ -2325,6 +2325,12 @@ e_policy_visibility_client_uniconify_by_visibility_job_cancel(E_Client *ec) VS_INF(ec, "Find and Cancel Uniconify by visibility job..."); ret = _e_vis_job_cancel(vc, E_VIS_JOB_TYPE_UNICONIFY_BY_VISIBILITY); + if (e_policy_visibility_client_is_uniconify_render_running(ec)) + { + vc->state = E_VIS_ICONIFY_STATE_ICONIC; + VS_INF(vc->ec, "UPDATE ICONIC STATE: %s", STATE_STR(vc)); + } + if (!_e_vis_job_is_grabbed(vc, E_VIS_JOB_TYPE_ALL ^ E_VIS_JOB_TYPE_UNICONIFY_BY_VISIBILITY)) { vc->state = E_VIS_ICONIFY_STATE_ICONIC; -- 2.7.4