hermet pushed a commit to branch master. http://git.enlightenment.org/core/efl.git/commit/?id=ea531d1c4dd767a8895baf8d8bdd113b8a96d76b
commit ea531d1c4dd767a8895baf8d8bdd113b8a96d76b Author: Shinwoo Kim <[email protected]> Date: Thu May 28 10:40:40 2020 +0900 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 --- src/lib/evas/canvas/evas_render.c | 3 +++ 1 file changed, 3 insertions(+) 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; --
