GNOME Bugzilla – Bug 581484
"area-updated" signal for GdkPixbufLoader is emitted with incorrect parameters
Last modified: 2016-12-29 16:16:32 UTC
For some image types "area-updated" signal of GdkPixbufLoader is emmited with incorrect parameters: image may be modified outside of the area defined by 'x', 'y', 'width' and 'height'.
This situation observed on "ico", "gif" and "ani" image formats;
for "bmp", "png" and "jpeg" images everything seems to be correct.
Created attachment 134029 [details]
program for verify parameters of "area-updated" signal for loaders
Created attachment 134031 [details]
"ico"-image under test
Incorrect parameters of "area-updated" signal shows up on this ico-image.
According to the code of "ico"-loader, it seems that problem is in transposed format of image, when y-coordinate is taken from opposite side than in normal format.
If one replace 'y' parameter as in this code
if(y != 0) y = gdk_pixbuf_get_height(pixbuf) - y;
everything became correct for the given image.
Created attachment 134032 [details]
program for verify "area-updated" parameter when loading animation
Created attachment 134038 [details]
gif-animation under test
for this GIF-animated image problem with "are-updated" signal parameters also arises.
fix this inconsistent, but origin of the problem is not obviuos.
Could you please integrate the tests into the test suite? This would make it easier to fix the problem(s).
I've realised that those are from 7 years ago (nearly 8), so I'll try and do that myself, no worries ;)
This is all fixed in master, and I integrated your tests in the test suite.
ICO fix at: ebcd488cc433be8bc00ccb8e820597de4388108e
GIF fix at: a6b07899b11b10647168c5e35a9d6c809c38a5d5