fix map bug - overzealous optimising. missed case in opt.
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 30 Apr 2010 11:24:22 +0000 (11:24 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Fri, 30 Apr 2010 11:24:22 +0000 (11:24 +0000)
git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@48465 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/modules/engines/software_generic/evas_engine.c

index fa4ce00..77671be 100644 (file)
@@ -794,6 +794,8 @@ eng_image_map4_draw(void *data __UNUSED__, void *context, void *surface, void *i
        (p[1].x == p[2].x) &&
        (p[0].y == p[1].y) &&
        (p[3].y == p[2].y) &&
+       (p[0].x <= p[1].x) &&
+       (p[0].y <= p[2].y) &&
        (p[0].u == 0) &&
        (p[0].v == 0) &&
        (p[1].u == (im->cache_entry.w << FP)) &&
@@ -819,12 +821,14 @@ eng_image_map4_draw(void *data __UNUSED__, void *context, void *surface, void *i
            dx, dy, dw, dh, smooth);
      }
    else
+     {
 #ifdef BUILD_PIPE_RENDER
-     if (cpunum > 1)
-       evas_common_pipe_map4_draw(im, surface, context, p, smooth, level);
-     else
+        if (cpunum > 1)
+          evas_common_pipe_map4_draw(im, surface, context, p, smooth, level);
+        else
 #endif
-       evas_common_map4_rgba(im, surface, context, p, smooth, level);
+          evas_common_map4_rgba(im, surface, context, p, smooth, level);
+     }
    evas_common_cpu_end_opt();
 }