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

-- 


Reply via email to