forked from enlightenment/efl
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:
parent
b7444e0b87
commit
35622614d0
|
@ -2649,6 +2649,15 @@ ecore_evas_manual_render(Ecore_Evas *ee)
|
||||||
|
|
||||||
ecore_evas_animator_tick(ee, NULL, t);
|
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)
|
if (ee->engine.func->fn_render)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue