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:
oops... fix fix
===================================================================
RCS file:
/cvsroot/enlightenment/e17/libs/evas/src/lib/engines/common/evas_image_load.c,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -3 -r1.4 -r1.5
--- evas_image_load.c 13 Jan 2003 07:38:08 -0000 1.4
+++ evas_image_load.c 5 Feb 2003 04:19:16 -0000 1.5
@@ -802,19 +802,28 @@
RGBA_Image *
evas_common_load_image_from_file(const char *file, const char *key)
{
+ char *real_file;
RGBA_Image *im;
int ok;
DATA64 mod_time;
-
- mod_time = evas_file_modified_time(file);
+
+ real_file = evas_file_path_resolve(file);
+ mod_time = 0;
+ if (real_file) mod_time = evas_file_modified_time(real_file);
+ else if (file) mod_time = evas_file_modified_time(file);
im = evas_common_image_find(file, key, mod_time);
if (im)
{
evas_common_image_ref(im);
+ if (real_file) free(real_file);
return im;
}
im = evas_common_image_new();
- if (!im) return NULL;
+ if (!im)
+ {
+ if (real_file) free(real_file);
+ return NULL;
+ }
ok = -1;
#ifdef BUILD_LOADER_PNG
if (ok == -1)
@@ -847,13 +856,18 @@
if (ok == -1)
{
evas_common_image_free(im);
+ if (real_file) free(real_file);
return NULL;
}
im->timestamp = mod_time;
if (file)
{
im->info.file = strdup(file);
- im->info.real_file = evas_file_path_resolve(file);
+ im->info.real_file = real_file;
+ }
+ else
+ {
+ if (real_file) free(real_file);
}
if (key)
im->info.key = strdup(key);
-------------------------------------------------------
This SF.NET email is sponsored by:
SourceForge Enterprise Edition + IBM + LinuxWorld = Something 2 See!
http://www.vasoftware.com
_______________________________________________
enlightenment-cvs mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/enlightenment-cvs