evas_gl_generic: fix wrong gl context set
example: ... im=evas_object_image_add() evas_gl_surface_create ... evas_object_image_native_surface_set(im, xx)-> MAIN CONTEXT evas_gl_make_current -> CONTEXT A ..... evas_object_image_size_set(im, x,x) ->WRONG CONTEXT A evas_object_image_size_set of image have native_surface finally calls eng_image_size_set function of gl_generic. eng_image_size_set cannot get the proper context related with evas_gl_common_image_native_enable. It ruined gl context and texture of main context has gone wrong. Reviewed-by: Cedric BAIL <cedric.bail@free.fr> Differential Revision: https://phab.enlightenment.org/D8338
This commit is contained in:
parent
25797aaca0
commit
9a700c92a7
|
@ -627,6 +627,7 @@ eng_image_size_set(void *engine, void *image, int w, int h)
|
|||
Evas_GL_Image *im_old;
|
||||
|
||||
if (!im) return NULL;
|
||||
gl_context = gl_generic_context_find(engine, 1);
|
||||
if (im->native.data)
|
||||
{
|
||||
im->w = w;
|
||||
|
@ -634,7 +635,6 @@ eng_image_size_set(void *engine, void *image, int w, int h)
|
|||
evas_gl_common_image_native_enable(im);
|
||||
return image;
|
||||
}
|
||||
gl_context = gl_generic_context_find(engine, 1);
|
||||
if ((im->tex) && (im->tex->pt->dyn.img))
|
||||
{
|
||||
evas_gl_common_texture_free(im->tex, EINA_TRUE);
|
||||
|
|
Loading…
Reference in New Issue