Summary: | BitmapImage.cpp erroneously assumes repetition count is available once size is available | ||||||||
---|---|---|---|---|---|---|---|---|---|
Product: | WebKit | Reporter: | Peter Kasting <pkasting> | ||||||
Component: | Images | Assignee: | Peter Kasting <pkasting> | ||||||
Status: | RESOLVED FIXED | ||||||||
Severity: | Normal | CC: | alp | ||||||
Priority: | P2 | ||||||||
Version: | 528+ (Nightly build) | ||||||||
Hardware: | PC | ||||||||
OS: | All | ||||||||
Attachments: |
|
Description
Peter Kasting
2008-05-27 11:51:55 PDT
Created attachment 21404 [details]
patch v1
Here's a patch to fix. I didn't realize that the GIFImageDecoder deletes m_reader as soon as the GIF finishes decoding, so I had to add a member to GIFImageDecoder to hold the repetition count after that point. (I didn't bother to plumb a notification from the reader up to the decoder that the count has changed, since BitmapImage.cpp will only ask for this data either very early or after the whole image has decoded, so this wouldn't have bought us anything.)
Comment on attachment 21404 [details]
patch v1
r=me
Created attachment 26518 [details]
Testcase
(Since I needed to check this recently) here's a test image that has the repeat count stored near the end of the image.
|