hermet pushed a commit to branch master.

http://git.enlightenment.org/core/efl.git/commit/?id=ed444b698b63e0086812062abb9e3065360eb0b2

commit ed444b698b63e0086812062abb9e3065360eb0b2
Author: Hermet Park <her...@hermet.pe.kr>
Date:   Fri Jun 24 00:48:34 2016 +0900

    evas canvas: fix broken proxy clipping.
    
    Origin of clipper's clipper won't be transformed to derivative space.
    So it needs to transform the coordinate additionally.
---
 src/lib/evas/canvas/evas_render.c | 7 +++++--
 1 file changed, 5 insertions(+), 2 deletions(-)

diff --git a/src/lib/evas/canvas/evas_render.c 
b/src/lib/evas/canvas/evas_render.c
index 9517ef1..74082cb 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -1242,8 +1242,11 @@ _proxy_context_clip(Evas_Public_Data *evas, void *ctx, 
Evas_Proxy_Render_Data *p
    /* stop if we found the source object's clipper */
    if (clipper == proxy_render_data->src_obj->cur->clipper) return EINA_TRUE;
 
-   /* recurse to the clipper itself */
-   return _proxy_context_clip(evas, ctx, proxy_render_data, clipper, off_x, 
off_y);
+   /* recurse to the clipper itself.
+    * origin of clipper's clipper won't be transformed to derivative space. */
+   return _proxy_context_clip(evas, ctx, proxy_render_data, clipper,
+                              (off_x - 
proxy_render_data->src_obj->cur->geometry.x),
+                              (off_y - 
proxy_render_data->src_obj->cur->geometry.y));
 }
 
 static void

-- 


Reply via email to