fix map rendering of text objects.
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sat, 1 May 2010 13:27:05 +0000 (13:27 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sat, 1 May 2010 13:27:05 +0000 (13:27 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@48501 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/canvas/evas_render.c
src/lib/engines/common/evas_map_image.c

index 8f7887d..039e9eb 100644 (file)
@@ -678,8 +678,11 @@ evas_render_mapped(Evas *e, Evas_Object *obj, void *context, void *surface,
           }
         else
           {
-             changed = obj->changed;
-             obj->changed = 0;
+             if (obj->changed)
+               {
+                  changed = 1;
+                  obj->changed = 0;
+               }
           }
 
         // clear surface before re-render
@@ -724,14 +727,14 @@ evas_render_mapped(Evas *e, Evas_Object *obj, void *context, void *surface,
              else
                {
                   int x = 0, y = 0, w = 0, h = 0;
-                  
+
                   w = obj->cur.map->surface_w;
                   h = obj->cur.map->surface_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);
+                                     obj->cur.geometry.x + off_x,
+                                     obj->cur.geometry.y + off_y,
+                                     obj->cur.geometry.w,
+                                     obj->cur.geometry.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,
index 86d4354..3112a83 100644 (file)
@@ -362,7 +362,7 @@ evas_common_map4_rgba(RGBA_Image *src, RGBA_Image *dst,
 #ifdef BUILD_MMX
    evas_common_cpu_can_do(&mmx, &sse, &sse2);
 #endif   
-   if (!dc->cutout.rects)
+   if ((!dc->cutout.rects) && (!dc->clip.use))
      {
 #ifdef BUILD_MMX
         if (mmx)