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 --