{
if (!ie) return;
if (!ie->cache) return;
-//// SLKL(ie->lock);
-//// SLKU(ie->lock);
if ((cache) && (cache->func.debug)) cache->func.debug("deleting", ie);
if (ie->flags.delete_me == 1) return;
if (ie->preload)
}
tg = calloc(1, sizeof(Evas_Cache_Target));
- if (!tg) return 0;
+ if (!tg)
+ {
+ evas_cache_image_drop(ie);
+ return 0;
+ }
tg->target = target;
tg->preloaded_cb = preloaded_cb;
tg->preloaded_data = preloaded_data;
on_ok:
*error = EVAS_LOAD_ERROR_NONE;
-//// SLKL(im->lock);
im->references++;
-//// SLKU(im->lock);
SLKU(engine_lock);
return im;
}
evas_cache_image_ref(Image_Entry *im)
{
SLKL(engine_lock);
-//// SLKL(im->lock);
im->references++;
-//// SLKU(im->lock);
SLKU(engine_lock);
}
if (!im->cache) return;
SLKL(engine_lock);
-//// SLKL(im->lock);
im->references--;
if (im->references < 0) im->references = 0;
references = im->references;
-//// SLKU(im->lock);
SLKU(engine_lock);
cache = im->cache;
{
if (im->preload)
{
+ SLKL(engine_lock);
_evas_cache_image_entry_preload_remove(im, NULL, EINA_TRUE);
+ SLKU(engine_lock);
return;
}
if ((im->flags.dirty) || (im->load_failed))
if (error != 0) goto on_error;
im2->references = 1;
im2->flags.loaded = EINA_TRUE;
- evas_cache_image_drop(im);
if (cache->func.debug) cache->func.debug("size_set", im2);
evas_cache_image_drop(im);
return im2;
if (im2) _evas_cache_image_entry_delete(cache, im2);
SLKU(engine_lock);
evas_cache_image_drop(im);
- evas_cache_image_drop(im);
return NULL;
}