e_policy_visibility: send pre-unobscured event to below window when the window is... 55/173555/1 accepted/tizen/4.0/unified/20180322.145202 submit/tizen_4.0/20180322.083256
authorDoyoun Kang <doyoun.kang@samsung.com>
Thu, 22 Mar 2018 08:25:31 +0000 (17:25 +0900)
committerDoyoun Kang <doyoun.kang@samsung.com>
Thu, 22 Mar 2018 08:25:31 +0000 (17:25 +0900)
Change-Id: Ibe8ca4a0c04a611207116c2258cefbb56209729f

src/bin/e_policy_visibility.c

index 3c6ffab9536bbda067071ff22387799422ca7711..79ed44ad4533be56eba9ecdbeced2c61d05a856c 100644 (file)
@@ -1300,7 +1300,7 @@ _e_vis_client_check_send_pre_visibility(E_Vis_Client *vc, Eina_Bool raise)
 }
 
 static Eina_Bool
-_e_vis_client_add_uniconify_render_pending(E_Vis_Client *vc, E_Vis_Job_Type type, Eina_Bool raise)
+_e_vis_client_add_uniconify_render_pending(E_Vis_Client *vc, E_Vis_Job_Type type, Eina_Bool raise, Eina_Bool force_send)
 {
    E_Client *ec;
    Eina_Bool send_vis_event = EINA_TRUE;
@@ -1331,7 +1331,9 @@ _e_vis_client_add_uniconify_render_pending(E_Vis_Client *vc, E_Vis_Job_Type type
    if (_e_vis_client_is_uniconify_render_running(vc))
      goto end;
 
-   send_vis_event = _e_vis_client_check_send_pre_visibility(vc, raise);
+   if (!force_send)
+     send_vis_event = _e_vis_client_check_send_pre_visibility(vc, raise);
+
    if (send_vis_event)
      {
         ELOGF("POL_VIS", "SEND pre-unobscured visibility event", ec->pixmap, ec);
@@ -1619,7 +1621,7 @@ _e_vis_ec_below_uniconify(E_Client *ec)
                   e_vis_client_send_pre_visibility_event(below_ec);
                }
 
-             job_added = _e_vis_client_add_uniconify_render_pending(below, E_VIS_JOB_TYPE_UNICONIFY_BY_VISIBILITY, 0);
+             job_added = _e_vis_client_add_uniconify_render_pending(below, E_VIS_JOB_TYPE_UNICONIFY_BY_VISIBILITY, 0, EINA_TRUE);
 
              if (!job_added)
                {
@@ -1945,7 +1947,7 @@ e_policy_visibility_client_raise(E_Client *ec)
    if (ec->exp_iconify.by_client)
      return EINA_FALSE;
 
-   ret = _e_vis_client_add_uniconify_render_pending(vc, E_VIS_JOB_TYPE_UNICONIFY, 1);
+   ret = _e_vis_client_add_uniconify_render_pending(vc, E_VIS_JOB_TYPE_UNICONIFY, 1, EINA_FALSE);
 
    /* uniconify its transients recursively */
    if (e_config->transient.raise)
@@ -2056,9 +2058,9 @@ e_policy_visibility_client_uniconify(E_Client *ec, Eina_Bool raise)
     * suppose that transients will be above on the parent. */
 
    if (raise)
-     ret = _e_vis_client_add_uniconify_render_pending(vc, E_VIS_JOB_TYPE_UNICONIFY, raise);
+     ret = _e_vis_client_add_uniconify_render_pending(vc, E_VIS_JOB_TYPE_UNICONIFY, raise, EINA_FALSE);
    else
-     ret = _e_vis_client_add_uniconify_render_pending(vc, E_VIS_JOB_TYPE_UNICONIFY_BY_VISIBILITY, raise);
+     ret = _e_vis_client_add_uniconify_render_pending(vc, E_VIS_JOB_TYPE_UNICONIFY_BY_VISIBILITY, raise, EINA_FALSE);
 
    /* uniconify its transients recursively */
    if (e_config->transient.iconify)
@@ -2085,7 +2087,7 @@ e_policy_visibility_client_activate(E_Client *ec)
 
    VS_DBG(ec, "API ENTRY | ACTIVATE");
 
-   ret = _e_vis_client_add_uniconify_render_pending(vc, E_VIS_JOB_TYPE_ACTIVATE, 1);
+   ret = _e_vis_client_add_uniconify_render_pending(vc, E_VIS_JOB_TYPE_ACTIVATE, 1, EINA_FALSE);
 
    /* TODO search clients to be foreground
     * suppose that transients will be above on the parent. */