cedric pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=d2b647d2b378a88bee07610a7416d4257bbebbb6

commit d2b647d2b378a88bee07610a7416d4257bbebbb6
Author: Wonsik Jung <[email protected]>
Date:   Wed Nov 13 16:58:01 2013 +0900

    evas: fix a missing eglMakeCurrent in image_cache_flush/image_cache_set in 
the GL X11 backend.
    
    [Problem] When glTextureDelete is called in image_cache_flush(), it 
sometimes doesn't work.
    [Cause] glTextureDelete is called with the wrong eglContext.
    [Solution] Call eng_window_use() in image_cache_flush() and 
image_cache_set() to use the correct eglContext.
    
    Change-Id: Id7ab1aaeb456be6dbc5f09cb2731ace5399a5dce
    Signed-off-by: Cedric Bail <[email protected]>
---
 src/modules/evas/engines/gl_x11/evas_engine.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/src/modules/evas/engines/gl_x11/evas_engine.c 
b/src/modules/evas/engines/gl_x11/evas_engine.c
index 3ca2452..b40dcbb 100644
--- a/src/modules/evas/engines/gl_x11/evas_engine.c
+++ b/src/modules/evas/engines/gl_x11/evas_engine.c
@@ -3080,6 +3080,8 @@ eng_image_cache_flush(void *data)
 
    re = (Render_Engine *)data;
 
+   if (re) eng_window_use(re->win);
+
    tmp_size = evas_common_image_get_cache();
    evas_common_image_set_cache(0);
    evas_common_rgba_image_scalecache_flush();
@@ -3093,6 +3095,9 @@ eng_image_cache_set(void *data, int bytes)
    Render_Engine *re;
 
    re = (Render_Engine *)data;
+
+   if (re) eng_window_use(re->win);
+
    evas_common_image_set_cache(bytes);
    evas_common_rgba_image_scalecache_size_set(bytes);
    evas_gl_common_image_cache_flush(re->win->gl_context);

-- 


Reply via email to