From 613669ef602bbd9e811363a2206bf0158fe0a877 Mon Sep 17 00:00:00 2001 From: Hermet Park Date: Fri, 24 Jun 2016 00:53:05 +0900 Subject: [PATCH] commit ed444b698b63e0086812062abb9e3065360eb0b2 Author: Hermet Park 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. Change-Id: I12e439d0a5ea6cf0eeebda1ba4791f6ed6a0dc99 --- 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 a314298..52aa2e8 100755 --- a/src/lib/evas/canvas/evas_render.c +++ b/src/lib/evas/canvas/evas_render.c @@ -1238,8 +1238,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 clippers 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 -- 2.7.4