summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjiin.moon <jiin.moon@samsung.com>2017-03-02 15:53:03 +0900
committerJean-Philippe Andre <jp.andre@samsung.com>2017-03-02 16:43:47 +0900
commitf506f65141cc7e46edf3aad938852aea26e07687 (patch)
treee74b5db1052c6bb01436fda25da8908d0a998ded
parente6a1e456cb3ca7587bd7c1c2dc822af035bf6f42 (diff)
evas: Fix double clipping issue with map
If object's parent has map and object also has map, the evas clip would be applied twice. The context already applied clip area when drawing on map_surface. So don't need more clipping when drawing map_image. Also, make sure to apply the framespace clip when drawing the map surface onto the final canvas. Thanks @jiin.moon for the initial patch (see D4694). @fix Signed-off-by: Jean-Philippe Andre <jp.andre@samsung.com>
-rw-r--r--src/lib/evas/canvas/evas_render.c10
1 files changed, 9 insertions, 1 deletions
diff --git a/src/lib/evas/canvas/evas_render.c b/src/lib/evas/canvas/evas_render.c
index 43085aaf9a..00c2f6b90f 100644
--- a/src/lib/evas/canvas/evas_render.c
+++ b/src/lib/evas/canvas/evas_render.c
@@ -2031,7 +2031,15 @@ evas_render_mapped(Evas_Public_Data *evas, Evas_Object *eo_obj,
2031 2031
2032 if (obj->cur->cache.clip.visible || !proxy_src_clip) 2032 if (obj->cur->cache.clip.visible || !proxy_src_clip)
2033 { 2033 {
2034 ENFN->context_clip_clip(ENDT, ctx, ecx, ecy, ecw, ech); 2034 if (!mapped)
2035 {
2036 ENFN->context_clip_clip(ENDT, ctx, ecx, ecy, ecw, ech);
2037 if (!_is_obj_in_framespace(obj, evas))
2038 {
2039 _evas_render_framespace_context_clip_clip
2040 (evas, ctx, off_x - evas->framespace.x, off_y - evas->framespace.y);
2041 }
2042 }
2035 ENFN->context_multiplier_unset(ENDT, ctx); 2043 ENFN->context_multiplier_unset(ENDT, ctx);
2036 ENFN->context_render_op_set(ENDT, ctx, obj->cur->render_op); 2044 ENFN->context_render_op_set(ENDT, ctx, obj->cur->render_op);
2037#ifdef REND_DBG 2045#ifdef REND_DBG