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:
Chris Michael 2014-08-22 13:31:09 -04:00
parent d5822fa6ee
commit 4aeee0de4c
1 changed files with 8 additions and 6 deletions

View File

@ -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;
}