cedric pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=6ea0566e6cad43ddb647c32fca812ae772db6b80
commit 6ea0566e6cad43ddb647c32fca812ae772db6b80 Author: Wonsik Jung <sid...@samsung.com> Date: Mon Feb 10 10:40:53 2014 +0900 evas: add eglMakeCurrent in evas map create/free. Summary: Ensure Evas's eglContext when several eglContexts are used. Test Plan: 1. Native GLES application works with evas_object_image_native_surface_set 2. One Evas object works with evas map. Reviewers: seoz, tasn, cedric Reviewed By: cedric CC: cedric, raster Differential Revision: https://phab.enlightenment.org/D534 Signed-off-by: Cedric BAIL <cedric.b...@samsung.com> --- src/modules/evas/engines/gl_x11/evas_engine.c | 7 ++++++- src/modules/evas/engines/wayland_egl/evas_engine.c | 7 ++++++- 2 files changed, 12 insertions(+), 2 deletions(-) diff --git a/src/modules/evas/engines/gl_x11/evas_engine.c b/src/modules/evas/engines/gl_x11/evas_engine.c index 1419d16..3212197 100644 --- a/src/modules/evas/engines/gl_x11/evas_engine.c +++ b/src/modules/evas/engines/gl_x11/evas_engine.c @@ -3115,12 +3115,17 @@ eng_image_map_surface_new(void *data, int w, int h, int alpha) Render_Engine *re; re = (Render_Engine *)data; + eng_window_use(re->win); return evas_gl_common_image_surface_new(re->win->gl_context, w, h, alpha); } static void -eng_image_map_surface_free(void *data EINA_UNUSED, void *surface) +eng_image_map_surface_free(void *data, void *surface) { + Render_Engine *re; + + re = (Render_Engine *)data; + eng_window_use(re->win); evas_gl_common_image_free(surface); } diff --git a/src/modules/evas/engines/wayland_egl/evas_engine.c b/src/modules/evas/engines/wayland_egl/evas_engine.c index e7c0336..ea6c7d3 100644 --- a/src/modules/evas/engines/wayland_egl/evas_engine.c +++ b/src/modules/evas/engines/wayland_egl/evas_engine.c @@ -2427,12 +2427,17 @@ eng_image_map_surface_new(void *data, int w, int h, int alpha) Render_Engine *re; if (!(re = (Render_Engine *)data)) return NULL; + eng_window_use(re->win); return evas_gl_common_image_surface_new(re->win->gl_context, w, h, alpha); } static void -eng_image_map_surface_free(void *data EINA_UNUSED, void *surface) +eng_image_map_surface_free(void *data, void *surface) { + Render_Engine *re; + + re = (Render_Engine *)data; + eng_window_use(re->win); evas_gl_common_image_free(surface); } --