if (ec->visibility.obscured == E_VISIBILITY_UNOBSCURED)
{
e_policy_client_uniconify_by_visibility(ec);
+ if (ec->visibility.last_sent_type != E_VISIBILITY_PRE_UNOBSCURED)
+ {
+ ELOGF("POL_VIS", "SEND pre-unobscured visibility event", ec->pixmap, ec);
+ e_vis_client_send_pre_visibility_event(ec);
+ }
e_policy_client_visibility_send(ec);
}
else
evas_object_smart_callback_call(vc->ec->frame, "e,visibility,prepare,foreground", vc->ec);
}
-static void
-_e_vis_client_send_pre_visibility_event(E_Client *ec)
+EINTERN void
+e_vis_client_send_pre_visibility_event(E_Client *ec)
{
if (!ec) return;
e_policy_wl_visibility_send(ec, E_VISIBILITY_PRE_UNOBSCURED);
VS_INF(ec, "Not necessary deiconify rendering");
ELOGF("POL", "SEND pre-unobscured visibility event", ec->pixmap, ec);
- _e_vis_client_send_pre_visibility_event(ec);
+ e_vis_client_send_pre_visibility_event(ec);
return EINA_FALSE;
}
if (send_vis_event)
{
ELOGF("POL", "SEND pre-unobscured visibility event", ec->pixmap, ec);
- _e_vis_client_send_pre_visibility_event(ec);
+ e_vis_client_send_pre_visibility_event(ec);
}
_e_vis_client_prepare_foreground_signal_emit(vc);
}
ELOGF("POL", "SEND pre-unobscured visibility event", below_ec->pixmap, below_ec);
- _e_vis_client_send_pre_visibility_event(below_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);