evas: wipe out cache in the right order.

SVN revision: 61956
This commit is contained in:
Cedric BAIL 2011-08-01 14:56:26 +00:00
parent d0b2f5b414
commit abffaa922d
2 changed files with 10 additions and 8 deletions

View File

@ -826,7 +826,7 @@ evas_cache_image_request(Evas_Cache_Image *cache, const char *file,
_timestamp_build(&tstamp, &st);
im = _evas_cache_image_entry_new(cache, hkey, &tstamp, file, key,
lo, error);
if (!im) return NULL;
if (!im) goto on_stat_error;
if (cache->func.debug) cache->func.debug("request", im);
on_ok:

View File

@ -247,18 +247,20 @@ evas_object_image_memfile_set(Evas_Object *obj, void *data, int size, char *form
MAGIC_CHECK_END();
_cleanup_tmpf(obj);
evas_object_image_file_set(obj, NULL, NULL);
// invalidate the cache effectively
evas_object_image_alpha_set(obj, !o->cur.has_alpha);
evas_object_image_alpha_set(obj, !o->cur.has_alpha);
if ((size < 1) || (!data)) return;
_create_tmpf(obj, data, size, format);
evas_object_image_file_set(obj, o->tmpf, key);
if (!o->engine_data)
{
ERR("unable to load '%s' from memory", o->tmpf);
_cleanup_tmpf(obj);
return;
}
// invalidate the cache effectively
evas_object_image_alpha_set(obj, !o->cur.has_alpha);
evas_object_image_alpha_set(obj, !o->cur.has_alpha);
}
EAPI void