_evas_cache_image_activ_del(ie);
_evas_cache_image_lru_del(ie);
_evas_cache_image_lru_nodata_del(ie);
-
+
cache->func.destructor(ie);
FREESTRC(ie->cache_key);
FREESTRC(ie->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:
*error = EVAS_LOAD_ERROR_NONE;
#ifdef EVAS_FRAME_QUEUING
o->tmpf_fd = fd;
#ifdef __linux__
snprintf(buf, sizeof(buf), "/proc/%li/fd/%i", (long)getpid(), fd);
-#endif
+#endif
o->tmpf = eina_stringshare_add(buf);
memcpy(dst, data, size);
munmap(dst, size);
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