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;

-- 


Reply via email to