From 3757758817d5e58b7e6a82285f82416726bcc425 Mon Sep 17 00:00:00 2001 From: raster Date: Fri, 21 May 2010 07:44:07 +0000 Subject: [PATCH] aaah yes - the flush will ... possibly delete the image - in fract almost definitely as it got to 0 fref. unlocking the image is bad as it was just deleted. do the delete (cache fluch) after unlock. git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@49089 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/cache/evas_cache_image.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/lib/cache/evas_cache_image.c b/src/lib/cache/evas_cache_image.c index 5bf0e84..5d03422 100644 --- a/src/lib/cache/evas_cache_image.c +++ b/src/lib/cache/evas_cache_image.c @@ -431,6 +431,7 @@ _evas_cache_image_async_end(void *data) static void _evas_cache_image_async_cancel(void *data) { + Evas_Cache_Image *cache = NULL; Image_Entry *ie = (Image_Entry *) data; ie->preload = NULL; @@ -456,11 +457,12 @@ _evas_cache_image_async_cancel(void *data) { _evas_cache_image_remove_activ(ie->cache, ie); _evas_cache_image_make_inactiv(ie->cache, ie, ie->cache_key); - evas_cache_image_flush(ie->cache); + cache = ie->cache; } #ifdef EVAS_FRAME_QUEUING LKU(ie->lock_references); #endif + if (cache) evas_cache_image_flush(cache); } static int -- 2.7.4