From c6458f9e7f44c7bf501ce9db0632de716f66a943 Mon Sep 17 00:00:00 2001 From: Vincent Torri Date: Sat, 7 Nov 2009 18:19:44 +0000 Subject: [PATCH] fix evas compilation when async preload is disabled SVN revision: 43514 --- legacy/evas/src/lib/cache/evas_cache_image.c | 35 +++++++++++--------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/legacy/evas/src/lib/cache/evas_cache_image.c b/legacy/evas/src/lib/cache/evas_cache_image.c index 9959b2ad27..66cb466238 100644 --- a/legacy/evas/src/lib/cache/evas_cache_image.c +++ b/legacy/evas/src/lib/cache/evas_cache_image.c @@ -937,24 +937,27 @@ evas_cache_image_drop(Image_Entry *im) im->references--; cache = im->cache; - if (im->references == 0 && !im->flags.pending) + if (im->references == 0) { #ifdef BUILD_ASYNC_PRELOAD - pthread_mutex_lock(&mutex); - if (im->flags.preload || im->flags.in_pipe) - { - pthread_mutex_unlock(&mutex); - _evas_cache_image_entry_preload_remove(im, NULL); - pthread_mutex_lock(&mutex_pending); - if (!im->flags.pending) - { - im->flags.pending = 1; - pending = eina_list_append(pending, im); - } - pthread_mutex_unlock(&mutex_pending); - return; - } - pthread_mutex_unlock(&mutex); + if (!im->flags.pending) + { + pthread_mutex_lock(&mutex); + if (im->flags.preload || im->flags.in_pipe) + { + pthread_mutex_unlock(&mutex); + _evas_cache_image_entry_preload_remove(im, NULL); + pthread_mutex_lock(&mutex_pending); + if (!im->flags.pending) + { + im->flags.pending = 1; + pending = eina_list_append(pending, im); + } + pthread_mutex_unlock(&mutex_pending); + return; + } + pthread_mutex_unlock(&mutex); + } #endif if (im->flags.dirty)