Remove warnings from evas_preload
authorlucas <lucas@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sat, 23 Oct 2010 22:33:33 +0000 (22:33 +0000)
committerlucas <lucas@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Sat, 23 Oct 2010 22:33:33 +0000 (22:33 +0000)
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>

git-svn-id: http://svn.enlightenment.org/svn/e/trunk/evas@53826 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

src/lib/cache/evas_preload.c

index bdc7888..0323137 100644 (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);