diff options
Diffstat (limited to 'third_party/gif')
-rw-r--r-- | third_party/gif/SkGifImageReader.cpp | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/third_party/gif/SkGifImageReader.cpp b/third_party/gif/SkGifImageReader.cpp index 14aa1f17fa..9a14018734 100644 --- a/third_party/gif/SkGifImageReader.cpp +++ b/third_party/gif/SkGifImageReader.cpp @@ -781,6 +781,10 @@ bool SkGifImageReader::parse(SkGifImageReader::SkGIFParseQuery query) } } + addFrameIfNecessary(); + SkGIFFrameContext* currentFrame = m_frames.back().get(); + currentFrame->setHeaderDefined(); + if (query == SkGIFSizeQuery) { // The decoder needs to stop, so we return here, before // flushing the buffer. Next time through, we'll be in the same @@ -789,10 +793,6 @@ bool SkGifImageReader::parse(SkGifImageReader::SkGIFParseQuery query) return true; } - addFrameIfNecessary(); - SkGIFFrameContext* currentFrame = m_frames.back().get(); - - currentFrame->setHeaderDefined(); currentFrame->setRect(xOffset, yOffset, width, height); currentFrame->setInterlaced(SkToBool(currentComponent[8] & 0x40)); |