diff options
author | Shinwoo Kim <cinoo.kim@samsung.com> | 2020-05-28 10:40:40 +0900 |
---|---|---|
committer | Hermet Park <chuneon.park@samsung.com> | 2020-05-28 10:42:53 +0900 |
commit | ea531d1c4dd767a8895baf8d8bdd113b8a96d76b (patch) | |
tree | 25b0c556f2d161abdcc79fb86e72213709712cc1 | |
parent | a4c5db2350ff8283fecd970c7daf2352fdb8a4e1 (diff) | |
download | efl-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.c | 3 |
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; |