cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=696ed3e2e8f97de482e98db34997ad1848da985d
commit 696ed3e2e8f97de482e98db34997ad1848da985d Author: Cedric Bail <[email protected]> Date: Fri May 5 17:12:17 2017 -0700 ecore_evas: add infrastructure to properly track sub ecore_evas. --- src/lib/ecore_evas/ecore_evas.c | 11 +++++++++++ src/lib/ecore_evas/ecore_evas_private.h | 1 + 2 files changed, 12 insertions(+) diff --git a/src/lib/ecore_evas/ecore_evas.c b/src/lib/ecore_evas/ecore_evas.c index 5eb48c4..ac525fd 100644 --- a/src/lib/ecore_evas/ecore_evas.c +++ b/src/lib/ecore_evas/ecore_evas.c @@ -3098,6 +3098,17 @@ _ecore_evas_register(Ecore_Evas *ee) evas_event_callback_add(ee->evas, EVAS_CALLBACK_RENDER_POST, _evas_evas_buffer_rendered, ee); } +void +_ecore_evas_subregister(Ecore_Evas *ee_target, Ecore_Evas *ee) +{ + _ecore_evas_register_animators(ee); + + ee_target->sub_ecore_evas = eina_list_append(ee_target->sub_ecore_evas, ee); + + if (!ee->engine.func->fn_render) + evas_event_callback_add(ee->evas, EVAS_CALLBACK_RENDER_POST, _evas_evas_buffer_rendered, ee); +} + EAPI void _ecore_evas_ref(Ecore_Evas *ee) { diff --git a/src/lib/ecore_evas/ecore_evas_private.h b/src/lib/ecore_evas/ecore_evas_private.h index d6fd15d..3bfacdc 100644 --- a/src/lib/ecore_evas/ecore_evas_private.h +++ b/src/lib/ecore_evas/ecore_evas_private.h @@ -390,6 +390,7 @@ EAPI void _ecore_evas_fps_debug_init(void); EAPI void _ecore_evas_fps_debug_shutdown(void); EAPI void _ecore_evas_fps_debug_rendertime_add(double t); EAPI void _ecore_evas_register(Ecore_Evas *ee); +void _ecore_evas_subregister(Ecore_Evas *ee_target, Ecore_Evas *ee); EAPI void _ecore_evas_register_animators(Ecore_Evas *ee); EAPI void _ecore_evas_free(Ecore_Evas *ee); EAPI void _ecore_evas_idle_timeout_update(Ecore_Evas *ee); --
