forked from enlightenment/efl
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 <cedric.bail@samsung.com>
This commit is contained in:
parent
8e362c7ad4
commit
d2b647d2b3
|
@ -3080,6 +3080,8 @@ eng_image_cache_flush(void *data)
|
||||||
|
|
||||||
re = (Render_Engine *)data;
|
re = (Render_Engine *)data;
|
||||||
|
|
||||||
|
if (re) eng_window_use(re->win);
|
||||||
|
|
||||||
tmp_size = evas_common_image_get_cache();
|
tmp_size = evas_common_image_get_cache();
|
||||||
evas_common_image_set_cache(0);
|
evas_common_image_set_cache(0);
|
||||||
evas_common_rgba_image_scalecache_flush();
|
evas_common_rgba_image_scalecache_flush();
|
||||||
|
@ -3093,6 +3095,9 @@ eng_image_cache_set(void *data, int bytes)
|
||||||
Render_Engine *re;
|
Render_Engine *re;
|
||||||
|
|
||||||
re = (Render_Engine *)data;
|
re = (Render_Engine *)data;
|
||||||
|
|
||||||
|
if (re) eng_window_use(re->win);
|
||||||
|
|
||||||
evas_common_image_set_cache(bytes);
|
evas_common_image_set_cache(bytes);
|
||||||
evas_common_rgba_image_scalecache_size_set(bytes);
|
evas_common_rgba_image_scalecache_size_set(bytes);
|
||||||
evas_gl_common_image_cache_flush(re->win->gl_context);
|
evas_gl_common_image_cache_flush(re->win->gl_context);
|
||||||
|
|
Loading…
Reference in New Issue