Evas: fix gif cannot decode alpha value correctly.

This commit is contained in:
Jiyoun Park 2013-06-05 15:26:09 +09:00
parent a553f9459f
commit ebf0cd6728
3 changed files with 29 additions and 9 deletions

View File

@ -1,3 +1,7 @@
2013-06-05 Jiyou Park
* Evas: Fix gif cannot decode alpha value correctly.
2013-06-04 Jean-Philippe Andre
* Evas: improve stability of Evas_Cserve2.

2
NEWS
View File

@ -327,3 +327,5 @@ Fixes:
* Fix eeze sensors to not segv on shutdown
* Evas: correctly detect if a loader support asynchronous preloading.
* Evas: improve stability of Evas_Cserve2.
* Evas: Fix gif cannot decode alpha value correctly.

View File

@ -449,6 +449,12 @@ _evas_image_load_frame_image_data(Eina_File *f,
*ptr = bg_val;
ptr++;
}
else
{
if (rows[i][j * scale_ratio] == alpha)
{
ptr++ ;
}
else
{
r = cmap->Colors[rows[i1][j1 * scale_ratio]].Red;
@ -459,6 +465,7 @@ _evas_image_load_frame_image_data(Eina_File *f,
}
}
}
}
break;
case 0: /* No disposal specified */
default:
@ -486,6 +493,12 @@ _evas_image_load_frame_image_data(Eina_File *f,
*ptr = bg_val;
ptr++;
}
else
{
if (rows[i][j * scale_ratio] == alpha)
{
ptr++ ;
}
else
{
r = cmap->Colors[rows[i1][j1 * scale_ratio]].Red;
@ -496,6 +509,7 @@ _evas_image_load_frame_image_data(Eina_File *f,
}
}
}
}
break;
}
}
@ -538,7 +552,7 @@ _evas_image_load_frame_image_data(Eina_File *f,
}
else
{
if (rows[i1][j1] == alpha)
if (rows[i1][j1 * scale_ratio] == alpha)
{
ptr++;
}