| Index: WebCore/platform/image-decoders/gif/GIFImageDecoder.cpp
|
| ===================================================================
|
| --- WebCore/platform/image-decoders/gif/GIFImageDecoder.cpp (revision 35612)
|
| +++ WebCore/platform/image-decoders/gif/GIFImageDecoder.cpp (working copy)
|
| @@ -331,7 +331,7 @@
|
| return true;
|
| }
|
|
|
| -void GIFImageDecoder::haveDecodedRow(unsigned frameIndex,
|
| +bool GIFImageDecoder::haveDecodedRow(unsigned frameIndex,
|
| unsigned char* rowBuffer,
|
| unsigned char* rowEnd,
|
| unsigned rowNumber,
|
| @@ -346,19 +346,19 @@
|
|
|
| // Sanity-check the arguments.
|
| if ((rowBuffer == 0) || (y >= size().height()))
|
| - return;
|
| + return true;
|
|
|
| // Get the colormap.
|
| unsigned colorMapSize;
|
| unsigned char* colorMap;
|
| m_reader->getColorMap(colorMap, colorMapSize);
|
| if (!colorMap)
|
| - return;
|
| + return true;
|
|
|
| // Initialize the frame if necessary.
|
| RGBA32Buffer& buffer = m_frameBufferCache[frameIndex];
|
| if ((buffer.status() == RGBA32Buffer::FrameEmpty) && !initFrameBuffer(frameIndex))
|
| - return;
|
| + return false;
|
|
|
| // Write one row's worth of data into the frame. There is no guarantee that
|
| // (rowEnd - rowBuffer) == (size().width() - m_reader->frameXOffset()), so
|
| @@ -386,6 +386,8 @@
|
| // Tell the frame to copy the row data if need be.
|
| if (repeatCount > 1)
|
| buffer.copyRowNTimes(m_reader->frameXOffset(), x, y, std::min(y + static_cast<int>(repeatCount), size().height()));
|
| +
|
| + return true;
|
| }
|
|
|
| void GIFImageDecoder::frameComplete(unsigned frameIndex, unsigned frameDuration, RGBA32Buffer::FrameDisposalMethod disposalMethod)
|
|
|