Enlightenment CVS committal

Author  : raster
Project : e17
Module  : libs/evas

Dir     : e17/libs/evas/src/lib/engines/common


Modified Files:
        evas_image_load.c 


Log Message:


eet image load logic was reversed! it worked anwyay - just nto as
effiectively as it could have :)

===================================================================
RCS file: 
/cvsroot/enlightenment/e17/libs/evas/src/lib/engines/common/evas_image_load.c,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -3 -r1.16 -r1.17
--- evas_image_load.c   26 Jan 2005 07:49:56 -0000      1.16
+++ evas_image_load.c   28 Mar 2005 03:41:22 -0000      1.17
@@ -566,21 +566,20 @@
 {
    int                  w, h, alpha, compression, quality, lossy;
    Eet_File            *ef;
-   DATA32              *body;
+   int                  ok;
    
    if ((!file) || (!key)) return -1;
    ef = eet_open((char *)file, EET_FILE_MODE_READ);
    if (!ef) return -1;
-   body = eet_data_image_read(ef, (char *)key, 
-                             &w, &h, &alpha, &compression, &quality, &lossy);
-   if (!body)
+   ok = eet_data_image_header_read(ef, (char *)key, 
+                                  &w, &h, &alpha, &compression, &quality, 
&lossy);
+   if (!ok)
      {
        eet_close(ef);
        return -1;
      }
    if ((w > 8192) || (h > 8192))
      {
-       free(body);
        eet_close(ef);
        return -1;
      }
@@ -589,14 +588,11 @@
      im->image = evas_common_image_surface_new(im);
    if (!im->image)
      {
-       free(body);
        eet_close(ef);
        return -1;
      }
    im->image->w = w;
    im->image->h = h;
-   im->image->data = body;
-   im->image->no_free = 0;
    eet_close(ef);
    return 1;
 }
@@ -607,20 +603,22 @@
 {
    int                  w, h, alpha, compression, quality, lossy;
    Eet_File            *ef;
-   int                  ok;
+   DATA32              *body;
    
    if ((!file) || (!key)) return -1;
+   if ((im->image) && (im->image->data)) return 1;
    ef = eet_open((char *)file, EET_FILE_MODE_READ);
    if (!ef) return -1;
-   ok = eet_data_image_header_read(ef, (char *)key, 
-                                  &w, &h, &alpha, &compression, &quality, 
&lossy);
-   if (!ok)
+   body = eet_data_image_read(ef, (char *)key, 
+                             &w, &h, &alpha, &compression, &quality, &lossy);
+   if (!body)
      {
        eet_close(ef);
        return -1;
      }
    if ((w > 8192) || (h > 8192))
      {
+       free(body);
        eet_close(ef);
        return -1;
      }
@@ -629,11 +627,14 @@
      im->image = evas_common_image_surface_new(im);
    if (!im->image)
      {
+       free(body);
        eet_close(ef);
        return -1;
      }
    im->image->w = w;
    im->image->h = h;
+   im->image->data = body;
+   im->image->no_free = 0;
    eet_close(ef);
    return 1;
 }




-------------------------------------------------------
SF email is sponsored by - The IT Product Guide
Read honest & candid reviews on hundreds of IT Products from real users.
Discover which products truly live up to the hype. Start reading now.
http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click
_______________________________________________
enlightenment-cvs mailing list
enlightenment-cvs@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs

Reply via email to