e_policy_visibility: set vc->state to ICONIC if uniconify_by_visibility job is canceled 66/234166/2
authorDoyoun Kang <doyoun.kang@samsung.com>
Thu, 21 May 2020 11:30:54 +0000 (20:30 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Mon, 25 May 2020 23:22:38 +0000 (23:22 +0000)
There was a bug that the window didn't get uniconic state change event, so it didn't try to render again.
This was because the vc->state remained to E_VIS_ICONIFY_STATE_RUNNING_UNICONIFY_RENDER_DONE
when the uniconify_by_visibility job was canceled.
We fix this problem.

Change-Id: I9fa1d21528aa26658f04c6b2efe78e322e16a551
(cherry picked from commit 31de8224f7d44e08809faa3f1a8f0d72d10d5272)

src/bin/e_policy_visibility.c

index 4091e1e5d743cff9b8b0d092f20193b6f60eba65..609ace3046bc1cec503c5d4f109b643b542049fc 100644 (file)
@@ -2252,7 +2252,11 @@ e_policy_visibility_client_uniconify_by_visibility_job_cancel(E_Client *ec)
    ret = _e_vis_job_cancel(vc, E_VIS_JOB_TYPE_UNICONIFY_BY_VISIBILITY);
 
    if (!_e_vis_job_is_grabbed(vc, E_VIS_JOB_TYPE_ALL ^ E_VIS_JOB_TYPE_UNICONIFY_BY_VISIBILITY))
-     E_FREE_FUNC(vc->grab, _e_vis_grab_release);
+     {
+        vc->state = E_VIS_ICONIFY_STATE_ICONIC;
+        VS_DBG(vc->ec, "\tUPDATE ICONIC STATE: %s", STATE_STR(vc));
+        E_FREE_FUNC(vc->grab, _e_vis_grab_release);
+     }
 
    return ret;
 }