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);

-- 


Reply via email to