evas/evas_map - added workaround code to remove afterimage problem.
authorChunEon Park <hermet@hermet.pe.kr>
Fri, 1 Jul 2011 01:10:32 +0000 (01:10 +0000)
committerChunEon Park <hermet@hermet.pe.kr>
Fri, 1 Jul 2011 01:10:32 +0000 (01:10 +0000)
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.

SVN revision: 60901

legacy/evas/src/lib/canvas/evas_map.c

index f78ce94..175d3f2 100644 (file)
@@ -383,6 +383,17 @@ 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 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 workarond code.
+       //This problem will be fixed later or be removed when the rendering engine is refactored completely. 
+       Evas *e = evas_object_evas_get(obj);
+       evas_damage_rectangle_add(e,
+                                 e->viewport.x,
+                                 e->viewport.y,
+                                 e->viewport.w,
+                                 e->viewport.h);
      }
    _evas_map_calc_map_geometry(obj);
    /* This is a bit heavy handed, but it fixes the case of same geometry, but