From 9fd600592947b51a4cece807a53a05f706f8d7a5 Mon Sep 17 00:00:00 2001 From: ChunEon Park Date: Fri, 1 Jul 2011 11:01:36 +0900 Subject: [PATCH] evas/evas_map - added workaround code to remove afterimage problem.Sine the last frame is not updated when map is disabled,Afterimage problem is happened in software rendering.Need to find out the reason in the rendering engine then fix it.However, it's hard to fix the problem now, added a just workaround code temporary.This problem will be fixed later or be removed when the rendering engine is refactored completely. --- src/lib/canvas/evas_map.c | 21 ++++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/src/lib/canvas/evas_map.c b/src/lib/canvas/evas_map.c index f78ce94..78e4140 100644 --- a/src/lib/canvas/evas_map.c +++ b/src/lib/canvas/evas_map.c @@ -382,6 +382,14 @@ evas_object_map_enable_set(Evas_Object *obj, Eina_Bool enabled) { _evas_map_calc_geom_change(obj); evas_object_mapped_clip_across_mark(obj); + //FIXME: Since the last frame is not updated when map is + //disabled, afterimage problem is happened in s/w rendering. + //Need to find out the fundamental reason then fix it. + evas_damage_rectangle_add(obj->layer->evas, + 0, + 0, + obj->layer->evas->output.w, + obj->layer->evas->output.h); } } _evas_map_calc_map_geometry(obj); @@ -449,7 +457,18 @@ evas_object_map_set(Evas_Object *obj, const Evas_Map *map) if (!obj->cur.usemap) _evas_map_calc_geom_change(obj); else _evas_map_calc_map_geometry(obj); if (obj->cur.usemap) - evas_object_mapped_clip_across_mark(obj); + { + evas_object_mapped_clip_across_mark(obj); + //FIXME: Since the last frame is not updated when map is + //disabled, afterimage problem is happened in s/w + //rendering. Need to find out the fundamental reason + //then fix it. + evas_damage_rectangle_add(obj->layer->evas, + 0, + 0, + obj->layer->evas->output.w, + obj->layer->evas->output.h); + } } return; } -- 2.7.4