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--; im->references--;
cache = im->cache; cache = im->cache;
if (im->references == 0 && !im->flags.pending) if (im->references == 0)
{ {
#ifdef BUILD_ASYNC_PRELOAD #ifdef BUILD_ASYNC_PRELOAD
pthread_mutex_lock(&mutex); if (!im->flags.pending)
if (im->flags.preload || im->flags.in_pipe) {
{ pthread_mutex_lock(&mutex);
pthread_mutex_unlock(&mutex); if (im->flags.preload || im->flags.in_pipe)
_evas_cache_image_entry_preload_remove(im, NULL); {
pthread_mutex_lock(&mutex_pending); pthread_mutex_unlock(&mutex);
if (!im->flags.pending) _evas_cache_image_entry_preload_remove(im, NULL);
{ pthread_mutex_lock(&mutex_pending);
im->flags.pending = 1; if (!im->flags.pending)
pending = eina_list_append(pending, im); {
} im->flags.pending = 1;
pthread_mutex_unlock(&mutex_pending); pending = eina_list_append(pending, im);
return; }
} pthread_mutex_unlock(&mutex_pending);
pthread_mutex_unlock(&mutex); return;
}
pthread_mutex_unlock(&mutex);
}
#endif #endif
if (im->flags.dirty) if (im->flags.dirty)