--- src/modules/loaders/gif/evas_image_load_gif.c.orig	2012-12-20 23:06:46.000000000 +0100
+++ src/modules/loaders/gif/evas_image_load_gif.c	2012-12-22 05:15:33.315952654 +0100
@@ -684,6 +684,7 @@ evas_image_load_file_head_gif(Image_Entr
    int                 h;
    int                 alpha;
    int                 loop_count = -1;
+   int err = 0;
 
    w = 0;
    h = 0;
@@ -700,8 +701,8 @@ evas_image_load_file_head_gif(Image_Entr
         return EINA_FALSE;
      }
 
-   gif = DGifOpenFileHandle(fd);
-   if (!gif)
+   gif = DGifOpenFileHandle(fd, &err);
+   if (err != 0)
      {
         if (fd) close(fd);
         *error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
@@ -822,7 +823,7 @@ evas_image_load_file_head_gif(Image_Entr
 static Eina_Bool
 evas_image_load_specific_frame(Image_Entry *ie, const char *file, int frame_index, int *error)
 {
-   int                fd;
+   int                fd, err = 0;
    GifFileType       *gif;
    Image_Entry_Frame *frame = NULL;
    Gif_Frame         *gif_frame = NULL;
@@ -838,8 +839,8 @@ evas_image_load_specific_frame(Image_Ent
         return EINA_FALSE;
      }
 
-   gif = DGifOpenFileHandle(fd);
-   if (!gif)
+   gif = DGifOpenFileHandle(fd, &err);
+   if (err != 0)
      {
         if (fd) close(fd);
         *error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
@@ -913,7 +914,7 @@ evas_image_load_file_data_gif(Image_Entr
           evas_image_load_file_data_gif_internal(ie,frame,error);
         else
           {
-             int           fd;
+             int           fd, err = 0;
              GifFileType  *gif;
 
 #ifndef __EMX__
@@ -927,8 +928,8 @@ evas_image_load_file_data_gif(Image_Entr
                   return EINA_FALSE;
                }
 
-             gif = DGifOpenFileHandle(fd);
-             if (!gif)
+             gif = DGifOpenFileHandle(fd, &err);
+             if (err != 0)
                {
                   if (fd) close(fd);
                   *error = EVAS_LOAD_ERROR_UNKNOWN_FORMAT;
@@ -976,7 +977,7 @@ evas_image_load_file_data_gif(Image_Entr
 static double
 evas_image_load_frame_duration_gif(Image_Entry *ie, const char *file, const int start_frame, const int frame_num)
 {
-   int                 fd;
+   int                 fd, err = 0;
    GifFileType        *gif;
    GifRecordType       rec;
    int                 done;
@@ -1000,8 +1001,8 @@ evas_image_load_frame_duration_gif(Image
 #endif
    if (fd < 0) return -1;
 
-   gif = DGifOpenFileHandle(fd);
-   if (!gif)
+   gif = DGifOpenFileHandle(fd, &err);
+   if (err != 0)
      {
         if (fd) close(fd);
         return -1;
