//////////////////////////////////////////////////////////////////////////
+EINTERN void
+e_comp_canvas_render_delayed_unset(E_Comp *comp)
+{
+ E_Comp_Config *comp_conf;
+
+ EINA_SAFETY_ON_NULL_RETURN(comp);
+
+ comp_conf = e_comp_config_get();
+ if (!comp_conf) return;
+ if (!comp_conf->canvas_render_delay_after_boot) return;
+ if (!comp->canvas_render_delayed) return;
+
+ ELOGF("COMP", "Begin canvas update for the first time after boot", NULL);
+
+ comp->canvas_render_delayed = EINA_FALSE;
+}
+
EINTERN Eina_Bool
e_comp_init(void)
{
EINTERN void e_comp_launchscrn_ec_remove(E_Client *ec);
EINTERN void e_comp_launchscrn_ec_add(E_Client *ec);
+EINTERN void e_comp_canvas_render_delayed_unset(E_Comp *comp);
+
#endif
ELOGF("COMP", "show_helper. evas_object_show!!!", ec);
evas_object_show(cw->smart_obj);
+ e_comp_canvas_render_delayed_unset(e_comp_get());
+
if (!ec->iconic)
e_client_focus_defer_set(ec);
ELOGF("COMP", "show_helper. evas_object_show!!!", ec);
evas_object_show(cw->smart_obj);
+ e_comp_canvas_render_delayed_unset(e_comp_get());
+
/* if comp object is shown in idle enterer before(E_CLIENT_HOOK_EVAL_FETCH),
it is rendered in idle callback without native surface and
compositor shows an empty frame if other objects aren't shown
_e_surface_commit_pre(E_Surface *surface)
{
E_Client *ec = surface->ec;
- E_Comp_Config *comp_conf = NULL;
if (!surface->base.first_commit)
surface->base.first_commit = EINA_TRUE;
{
if (surface->base.shell.surface && surface->base.pending.new_attach &&
!ec->internal && !e_comp_wl_subsurface_check(ec) && !ec->remote_surface.provider)
- {
- E_Comp *comp;
- ELOGF("COMP", "Current unmapped. COMMIT. pixmap_usable:%d", ec, e_pixmap_usable_get(ec->pixmap));
-
- // no canvas update before client's commit request, begin rendering after 1st commit
- comp_conf = e_comp_config_get();
- comp = e_comp_get();
- if (comp_conf && comp_conf->canvas_render_delay_after_boot && comp->canvas_render_delayed)
- {
- ELOGF("COMP", "Begin canvas update for the first time after boot", ec);
- comp->canvas_render_delayed = EINA_FALSE;
- }
- }
+ ELOGF("COMP", "Current unmapped. COMMIT. pixmap_usable:%d", ec, e_pixmap_usable_get(ec->pixmap));
}
e_comp_wl_hook_call(E_COMP_WL_HOOK_CLIENT_BEFORE_SURFACE_COMMIT, ec);