forked from enlightenment/efl
ecore-evas-wayland: Fix ecore_evas async rendering with wayland engines
Recent expedite changes have uncovered an issue where the ecore_evas (under wayland) was not supporting async rendering correctly. This fixes the issue so we can run expedite with -y and get redraws again. @fix Signed-off-by: Chris Michael <cp.michael@samsung.com>
This commit is contained in:
parent
d5822fa6ee
commit
4aeee0de4c
|
@ -1458,10 +1458,14 @@ _ecore_evas_wl_common_render(Ecore_Evas *ee)
|
||||||
|
|
||||||
if (!ee->can_async_render)
|
if (!ee->can_async_render)
|
||||||
{
|
{
|
||||||
|
Eina_List *updates;
|
||||||
|
|
||||||
|
updates = evas_render_updates(ee->evas);
|
||||||
|
rend = _ecore_evas_wl_common_render_updates_process(ee, updates);
|
||||||
|
evas_render_updates_free(updates);
|
||||||
|
|
||||||
if (!wdata->frame_pending)
|
if (!wdata->frame_pending)
|
||||||
{
|
{
|
||||||
Eina_List *updates;
|
|
||||||
|
|
||||||
if (!wdata->frame_callback)
|
if (!wdata->frame_callback)
|
||||||
{
|
{
|
||||||
wdata->frame_callback =
|
wdata->frame_callback =
|
||||||
|
@ -1470,10 +1474,6 @@ _ecore_evas_wl_common_render(Ecore_Evas *ee)
|
||||||
&frame_listener, ee);
|
&frame_listener, ee);
|
||||||
}
|
}
|
||||||
|
|
||||||
updates = evas_render_updates(ee->evas);
|
|
||||||
rend = _ecore_evas_wl_common_render_updates_process(ee, updates);
|
|
||||||
evas_render_updates_free(updates);
|
|
||||||
|
|
||||||
if (rend)
|
if (rend)
|
||||||
wdata->frame_pending = EINA_TRUE;
|
wdata->frame_pending = EINA_TRUE;
|
||||||
}
|
}
|
||||||
|
@ -1483,6 +1483,8 @@ _ecore_evas_wl_common_render(Ecore_Evas *ee)
|
||||||
ee->in_async_render = EINA_TRUE;
|
ee->in_async_render = EINA_TRUE;
|
||||||
rend = 1;
|
rend = 1;
|
||||||
}
|
}
|
||||||
|
else if (ee->func.fn_post_render)
|
||||||
|
ee->func.fn_post_render(ee);
|
||||||
|
|
||||||
return rend;
|
return rend;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue