summaryrefslogtreecommitdiff
path: root/src/lib/evas/include/evas_common_private.h
diff options
context:
space:
mode:
authorYoungbok Shin <youngb.shin@samsung.com>2017-03-08 19:33:15 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2017-03-08 19:35:03 +0900
commitf83ce20e1c72c3a645553feeea640e0c4b69e6c1 (patch)
tree50e5634b68cfd67d5f7ecee92616750f50ef65c0 /src/lib/evas/include/evas_common_private.h
parent437ae4a3d3b0d00a279fb93f4341c9205d785c36 (diff)
evas: clean up GL images for emojis when GL context is free'd
If GL context is free'd before processing font shutdown, textures for emoji glyph's GL images will be free'd without clean up its GL images. It causes eina mempool infinite loop issue when emoji's GL images are free'd in shutdown process. So, the patch will make a list for emoji's GL images in context and clean up them when the context is free'd. Just like font textures in context. @fix Differential Revision: https://phab.enlightenment.org/D4695 Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
Diffstat (limited to 'src/lib/evas/include/evas_common_private.h')
-rw-r--r--src/lib/evas/include/evas_common_private.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/lib/evas/include/evas_common_private.h b/src/lib/evas/include/evas_common_private.h
index f576fc3c49..0da1e3200c 100644
--- a/src/lib/evas/include/evas_common_private.h
+++ b/src/lib/evas/include/evas_common_private.h
@@ -748,9 +748,9 @@ struct _RGBA_Draw_Context
748 void *(*gl_new) (void *data, RGBA_Font_Glyph *fg); 748 void *(*gl_new) (void *data, RGBA_Font_Glyph *fg);
749 void (*gl_free) (void *ext_dat); 749 void (*gl_free) (void *ext_dat);
750 void (*gl_draw) (void *data, void *dest, void *context, RGBA_Font_Glyph *fg, int x, int y); 750 void (*gl_draw) (void *data, void *dest, void *context, RGBA_Font_Glyph *fg, int x, int y);
751 void *(*gl_image_new_from_data) (void *gc, unsigned int w, unsigned int h, DATA32 *image_data, int alpha, Evas_Colorspace cspace); 751 void *(*gl_image_new) (void *gc, RGBA_Font_Glyph *fg, int alpha, Evas_Colorspace cspace);
752 void (*gl_image_free) (void *image); 752 void (*gl_image_free) (void *image);
753 void (*gl_image_draw) (void *gc, void *im, int sx, int sy, int sw, int sh, int dx, int dy, int dw, int dh, int smooth); 753 void (*gl_image_draw) (void *gc, void *im, int dx, int dy, int dw, int dh, int smooth);
754 } func; 754 } func;
755 void *data; 755 void *data;
756 } font_ext; 756 } font_ext;