ecore_evas: Make sure a manual render does a manual render

Summary:
If we call ecore_evas_manual_render() during an async render, it does
nothing.

This is harmful if we've added render post callbacks during that async
render and expect them to fire.

Force a sync and another render if we're in an async render.

ref T7156
Depends on D6714

Reviewers: zmike

Reviewed By: zmike

Subscribers: cedric, #committers, zmike

Tags: #efl

Maniphest Tasks: T7156

Differential Revision: https://phab.enlightenment.org/D6715
This commit is contained in:
Derek Foreman 2018-07-31 17:02:39 -04:00 committed by Mike Blumenkrantz
parent b7444e0b87
commit 35622614d0
1 changed files with 9 additions and 0 deletions

View File

@ -2649,6 +2649,15 @@ ecore_evas_manual_render(Ecore_Evas *ee)
ecore_evas_animator_tick(ee, NULL, t);
}
else
{
/* We want to ensure a manual render actually takes place,
* even if we were in the middle of an async render. This
* will ensure that any post render callbacks added
* specifically for this manual render will fire.
*/
ecore_evas_render_wait(ee);
}
if (ee->engine.func->fn_render)
{