fix map render bug.
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 30 Apr 2010 08:24:55 +0000 (08:24 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 30 Apr 2010 08:24:55 +0000 (08:24 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@48462 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/canvas/evas_render.c

index 9ec59d0..8f7887d 100644 (file)
@@ -609,7 +609,7 @@ evas_render_mapped(Evas *e, Evas_Object *obj, void *context, void *surface,
         const Evas_Map_Point *p, *p_end;
         RGBA_Map_Point pts[4], *pt;
         int sw, sh;
-        int changed = 0;
+        int changed = 0, rendered = 0;
 
         sw = obj->cur.geometry.w;
         sh = obj->cur.geometry.h;
@@ -738,11 +738,18 @@ evas_render_mapped(Evas *e, Evas_Object *obj, void *context, void *surface,
                                     obj->cur.map->surface, off_x, off_y);
                }
              e->engine.func->context_free(e->engine.data.output, ctx);
+             rendered = 1;
           }
 
         RDI(level);
         RD("        draw map4\n");
 
+        if (rendered)
+          {
+             obj->cur.map->surface = e->engine.func->image_dirty_region
+               (e->engine.data.output, obj->cur.map->surface,
+                0, 0, obj->cur.map->surface_w, obj->cur.map->surface_h);
+          }
         obj->layer->evas->engine.func->image_map4_draw
           (e->engine.data.output, e->engine.data.context, surface,
            obj->cur.map->surface, pts, obj->cur.map->smooth, 0);