Remove warnings from evas_preload

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 <fabianofidencio@gmail.com>



SVN revision: 53826
This commit is contained in:
Fabiano Fidêncio 2010-10-23 22:33:33 +00:00 committed by Lucas De Marchi
parent be4836a118
commit 76e6a7fac6
1 changed files with 10 additions and 8 deletions

View File

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