From 716211ade3849dca62de722322083af29d7cd75b Mon Sep 17 00:00:00 2001 From: Carsten Haitzler Date: Tue, 24 Aug 2010 08:14:46 +0000 Subject: [PATCH] fix nasty uncaught clip + map bug! fix fix fix!!!!! SVN revision: 51608 --- legacy/evas/src/lib/canvas/evas_render.c | 17 +++++++++++++++-- 1 file changed, 15 insertions(+), 2 deletions(-) diff --git a/legacy/evas/src/lib/canvas/evas_render.c b/legacy/evas/src/lib/canvas/evas_render.c index 158e976026..3d3d398105 100644 --- a/legacy/evas/src/lib/canvas/evas_render.c +++ b/legacy/evas/src/lib/canvas/evas_render.c @@ -754,6 +754,11 @@ evas_render_mapped(Evas *e, Evas_Object *obj, void *context, void *surface, obj->cur.geometry.y + off_y, obj->cur.geometry.w, obj->cur.geometry.h); + RECTS_CLIP_TO_RECT(x, y, w, h, + obj->cur.cache.clip.x + off_x, + obj->cur.cache.clip.y + off_y, + obj->cur.cache.clip.w, + obj->cur.cache.clip.h); e->engine.func->context_clip_set(e->engine.data.output, ctx, x, y, w, h); obj->func->render(obj, e->engine.data.output, ctx, @@ -803,8 +808,16 @@ evas_render_mapped(Evas *e, Evas_Object *obj, void *context, void *surface, } } else - obj->func->render(obj, e->engine.data.output, ctx, - surface, off_x, off_y); + { + e->engine.func->context_clip_set(e->engine.data.output, + ctx, + obj->cur.cache.clip.x + off_x, + obj->cur.cache.clip.y + off_y, + obj->cur.cache.clip.w, + obj->cur.cache.clip.h); + obj->func->render(obj, e->engine.data.output, ctx, + surface, off_x, off_y); + } e->engine.func->context_free(e->engine.data.output, ctx); } else