summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/lib/evas/canvas/evas_render.c19
1 files changed, 12 insertions, 7 deletions
diff --git a/src/lib/evas/canvas/evas_render.c b/src/lib/evas/canvas/evas_render.c
index 58bbd67929..d172cd322d 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -2913,19 +2913,24 @@ _evas_canvas_render_dump(Eo *eo_e, Evas_Public_Data *e)
2913 2913
2914 EINA_INLIST_FOREACH(lay->objects, obj) 2914 EINA_INLIST_FOREACH(lay->objects, obj)
2915 { 2915 {
2916 if (obj->proxy) 2916 if (obj->proxy->surface)
2917 { 2917 {
2918 EINA_COW_WRITE_BEGIN(evas_object_proxy_cow, obj->proxy, Evas_Object_Proxy_Data, proxy_write) 2918 EINA_COW_WRITE_BEGIN(evas_object_proxy_cow, obj->proxy, Evas_Object_Proxy_Data, proxy_write)
2919 { 2919 {
2920 if (proxy_write->surface) 2920 e->engine.func->image_map_surface_free(e->engine.data.output, proxy_write->surface);
2921 { 2921 proxy_write->surface = NULL;
2922 e->engine.func->image_map_surface_free(e->engine.data.output,
2923 proxy_write->surface);
2924 proxy_write->surface = NULL;
2925 }
2926 } 2922 }
2927 EINA_COW_WRITE_END(evas_object_proxy_cow, obj->proxy, proxy_write); 2923 EINA_COW_WRITE_END(evas_object_proxy_cow, obj->proxy, proxy_write);
2928 } 2924 }
2925 if (obj->mask->surface)
2926 {
2927 EINA_COW_WRITE_BEGIN(evas_object_mask_cow, obj->mask, Evas_Object_Mask_Data, mdata)
2928 {
2929 e->engine.func->image_map_surface_free(e->engine.data.output, mdata->surface);
2930 mdata->surface = NULL;
2931 }
2932 EINA_COW_WRITE_END(evas_object_mask_cow, obj->mask, mdata);
2933 }
2929 if ((obj->type) && (!strcmp(obj->type, "image"))) 2934 if ((obj->type) && (!strcmp(obj->type, "image")))
2930 evas_object_inform_call_image_unloaded(obj->object); 2935 evas_object_inform_call_image_unloaded(obj->object);
2931 _evas_render_dump_map_surfaces(obj->object); 2936 _evas_render_dump_map_surfaces(obj->object);