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)
|
||||
{
|
||||
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)
|
||||
{
|
||||
Eina_List *updates;
|
||||
|
||||
if (!wdata->frame_callback)
|
||||
{
|
||||
wdata->frame_callback =
|
||||
|
@ -1470,10 +1474,6 @@ _ecore_evas_wl_common_render(Ecore_Evas *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)
|
||||
wdata->frame_pending = EINA_TRUE;
|
||||
}
|
||||
|
@ -1483,6 +1483,8 @@ _ecore_evas_wl_common_render(Ecore_Evas *ee)
|
|||
ee->in_async_render = EINA_TRUE;
|
||||
rend = 1;
|
||||
}
|
||||
else if (ee->func.fn_post_render)
|
||||
ee->func.fn_post_render(ee);
|
||||
|
||||
return rend;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue