fix evas compilation when async preload is disabled

SVN revision: 43514
This commit is contained in:
Vincent Torri 2009-11-07 18:19:44 +00:00
parent 2ccaf85b59
commit c6458f9e7f
1 changed files with 19 additions and 16 deletions

View File

@ -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)