fix svg load WITH scaling - scale down size request broken. 2
authorraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 11 May 2011 11:26:51 +0000 (11:26 +0000)
committerraster <raster@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 11 May 2011 11:26:51 +0000 (11:26 +0000)
different sizing methods.

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@59329 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/modules/loaders/svg/evas_image_load_svg.c

index e5f0933..3847481 100644 (file)
@@ -110,11 +110,8 @@ evas_image_load_file_head_svg(Image_Entry *ie, const char *file, const char *key
        h2 = (ie->load_opts.w * h) / w;
        if (h2 > ie->load_opts.h)
          {
-            unsigned int w3;
             h2 = ie->load_opts.h;
-            w3 = (ie->load_opts.h * w) / h;
-            if (w3 > w2)
-               w2 = w3;
+            w2 = (ie->load_opts.h * w) / h;
          }
        w = w2;
        h = h2;
@@ -198,6 +195,11 @@ evas_image_load_file_data_svg(Image_Entry *ie, const char *file, const char *key
      }
    if (w < 1) w = 1;
    if (h < 1) h = 1;
+   if ((w != (int)ie->w) || (h != (int)ie->h))
+     {
+        *error = EVAS_LOAD_ERROR_GENERIC;
+        goto error;
+     }
    ie->flags.alpha = 1;
    evas_cache_image_surface_alloc(ie, w, h);
    pixels = evas_cache_image_pixels(ie);