summaryrefslogtreecommitdiff
path: root/src/modules/evas/engines/gl_generic/evas_engine.c
diff options
context:
space:
mode:
Diffstat (limited to 'src/modules/evas/engines/gl_generic/evas_engine.c')
-rw-r--r--src/modules/evas/engines/gl_generic/evas_engine.c13
1 files changed, 13 insertions, 0 deletions
diff --git a/src/modules/evas/engines/gl_generic/evas_engine.c b/src/modules/evas/engines/gl_generic/evas_engine.c
index 9d93c43..0153c80 100644
--- a/src/modules/evas/engines/gl_generic/evas_engine.c
+++ b/src/modules/evas/engines/gl_generic/evas_engine.c
@@ -2182,6 +2182,18 @@ eng_context_free(void *data, void *context)
2182 evas_common_draw_context_free(context); 2182 evas_common_draw_context_free(context);
2183} 2183}
2184 2184
2185static void *
2186eng_context_dup(void *data EINA_UNUSED, void *context)
2187{
2188 RGBA_Draw_Context *ctx;
2189
2190 ctx = evas_common_draw_context_dup(context);
2191 if (ctx->clip.mask)
2192 evas_gl_common_image_ref(ctx->clip.mask);
2193
2194 return ctx;
2195}
2196
2185static void 2197static void
2186eng_context_3d_use(void *data) 2198eng_context_3d_use(void *data)
2187{ 2199{
@@ -2565,6 +2577,7 @@ module_open(Evas_Module *em)
2565 ORD(context_clip_image_set); 2577 ORD(context_clip_image_set);
2566 ORD(context_clip_image_unset); 2578 ORD(context_clip_image_unset);
2567 ORD(context_clip_image_get); 2579 ORD(context_clip_image_get);
2580 ORD(context_dup);
2568 ORD(context_free); 2581 ORD(context_free);
2569 2582
2570 ORD(rectangle_draw); 2583 ORD(rectangle_draw);