From 1d56799d82d505d91464cff58e8cb483a3a126a2 Mon Sep 17 00:00:00 2001 From: lucas Date: Sat, 23 Oct 2010 22:33:33 +0000 Subject: [PATCH] Remove warnings from evas_preload MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit Use EINA_INLIST_CONTAINER_GET instead of cast to (Evas_Preload_Pthread_Worker*) to get eina_inlist_remove's return. This works even if the first field of Evas_Preload_Pthread_Worker is no longer a EINA_INLIST Patch by: Fabiano Fidêncio git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@53826 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33 --- src/lib/cache/evas_preload.c | 18 ++++++++++-------- 1 file changed, 10 insertions(+), 8 deletions(-) diff --git a/src/lib/cache/evas_preload.c b/src/lib/cache/evas_preload.c index bdc7888..0323137 100644 --- a/src/lib/cache/evas_preload.c +++ b/src/lib/cache/evas_preload.c @@ -90,8 +90,9 @@ on_error: } work = _workers; - _workers = (Evas_Preload_Pthread_Worker*) eina_inlist_remove(EINA_INLIST_GET(_workers), - EINA_INLIST_GET(_workers)); + _workers = EINA_INLIST_CONTAINER_GET(eina_inlist_remove(EINA_INLIST_GET(_workers), + EINA_INLIST_GET(_workers)), + Evas_Preload_Pthread_Worker); LKU(_mutex); if (work->func_heavy) work->func_heavy(work->data); @@ -142,9 +143,9 @@ _evas_preload_thread_shutdown(void) while (_workers) { work = _workers; - _workers = eina_inlist_remove(EINA_INLIST_GET(_workers), - EINA_INLIST_GET(_workers)); - + _workers = EINA_INLIST_CONTAINER_GET(eina_inlist_remove(EINA_INLIST_GET(_workers), + EINA_INLIST_GET(_workers)), + Evas_Preload_Pthread_Worker); if (work->func_cancel) work->func_cancel(work->data); free(work); } @@ -176,7 +177,7 @@ evas_preload_thread_run(void (*func_heavy) (void *data), work->data = (void *)data; LKL(_mutex); - _workers = eina_inlist_append(EINA_INLIST_GET(_workers), EINA_INLIST_GET(work)); + _workers = (Evas_Preload_Pthread_Worker *)eina_inlist_append(EINA_INLIST_GET(_workers), EINA_INLIST_GET(work)); if (_threads_count == _threads_max) { LKU(_mutex); @@ -230,8 +231,9 @@ evas_preload_thread_cancel(Evas_Preload_Pthread *thread) { if (work == (Evas_Preload_Pthread_Worker *)thread) { - _workers = eina_inlist_remove(EINA_INLIST_GET(_workers), - EINA_INLIST_GET(work)); + _workers = EINA_INLIST_CONTAINER_GET(eina_inlist_remove(EINA_INLIST_GET(_workers), + EINA_INLIST_GET(work)), + Evas_Preload_Pthread_Worker); LKU(_mutex); if (work->func_cancel) work->func_cancel(work->data); free(work); -- 2.7.4