Gif loader didn't initialize frame buffer of first frame.
authorjypark <jypark@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 1 Aug 2012 04:33:12 +0000 (04:33 +0000)
committerjypark <jypark@7cbeb6ba-43b4-40fd-8cce-4c39aea84d33>
Wed, 1 Aug 2012 04:33:12 +0000 (04:33 +0000)
fix gif loader to initialize first frame's image data area

git-svn-id: svn+ssh://svn.enlightenment.org/var/svn/e/trunk/evas@74704 7cbeb6ba-43b4-40fd-8cce-4c39aea84d33

ChangeLog
src/modules/loaders/gif/evas_image_load_gif.c

index dbd1dca..f1dcfb3 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
         its children dont change their layer value and pointer with it, thus
         getting layer from them get you the wrong one.
 
-2012-07026  Cedric Bail
+2012-07-26  Cedric Bail
 
        * Keep track of inactive proxied object change so we always update the proxy correctly.
+
+2012-08-01  Jiyoun Park(jypark)
+
+        * Fix gif load bug. we initialize first frame buffer of gif loader
index b189837..18a6e23 100644 (file)
@@ -265,6 +265,7 @@ _evas_image_load_frame_image_data(Image_Entry *ie, GifFileType *gif, Image_Entry
              return EINA_FALSE;
           }
      }
+
    if (scale_ratio > 1)
      {
         tmp = malloc(w * sizeof(GifPixelType));
@@ -322,6 +323,7 @@ _evas_image_load_frame_image_data(Image_Entry *ie, GifFileType *gif, Image_Entry
         if (tmp) free(tmp);
         tmp = NULL;
      }
+
    alpha = gif_frame->frame_info.transparent;
    siz = cache_w *cache_h * sizeof(DATA32);
    frame->data = malloc(siz);
@@ -506,6 +508,8 @@ _evas_image_load_frame_image_data(Image_Entry *ie, GifFileType *gif, Image_Entry
      }
    else /* first frame decoding */
      {
+        memset(ptr, 0, siz);
+
         /* fill background color */
         for (i = 0; i < cache_h; i++)
           {