summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorShinwoo Kim <cinoo.kim@samsung.com>2020-05-28 10:40:40 +0900
committerHermet Park <chuneon.park@samsung.com>2020-05-28 10:42:53 +0900
commitea531d1c4dd767a8895baf8d8bdd113b8a96d76b (patch)
tree25b0c556f2d161abdcc79fb86e72213709712cc1
parenta4c5db2350ff8283fecd970c7daf2352fdb8a4e1 (diff)
downloadefl-ea531d1c4dd767a8895baf8d8bdd113b8a96d76b.tar.gz
evas_render: do not use mask of proxy source
Summary: A mask of proxy source can be same with a mask of proxy source's child. If source_clip is false, then the child object should not use the mask. Test Plan: {F3888363} Reviewers: Hermet, herb, jsuya Reviewed By: Hermet Subscribers: cedric, #reviewers, #committers Tags: #efl Differential Revision: https://phab.enlightenment.org/D11870
-rw-r--r--src/lib/evas/canvas/evas_render.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/src/lib/evas/canvas/evas_render.c b/src/lib/evas/canvas/evas_render.c
index f8abfd5700..f80cb24c8d 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -1755,6 +1755,9 @@ _evas_render_mapped_mask(Evas_Public_Data *evas, Evas_Object_Protected_Data *obj
Evas_Proxy_Render_Data *proxy_render_data, void *output, void *ctx, int off_x, int off_y, int level, Eina_Bool do_async)
{
if (!mask) return;
+ if (proxy_render_data &&
+ !proxy_render_data->source_clip &&
+ proxy_render_data->src_obj->clip.mask == mask) return;
// This path can be hit when we're multiplying masks on top of each other...
Evas_Object_Protected_Data *prev_mask = obj->clip.prev_mask;