Index: src/codec/SkGifCodec.cpp |
diff --git a/src/codec/SkGifCodec.cpp b/src/codec/SkGifCodec.cpp |
index 263004b6cdea084ba93004dbc2fa4d0a71804a1c..1ede918657503a0e9d41321574b15eecd2bb4642 100644 |
--- a/src/codec/SkGifCodec.cpp |
+++ b/src/codec/SkGifCodec.cpp |
@@ -298,9 +298,11 @@ SkCodec::Result SkGifCodec::decodeFrame(bool firstAttempt, const Options& opts, |
// - The frame is interlaced. There is no obvious way to fill |
// afterwards for an incomplete image. (FIXME: Does the first pass |
// cover all rows? If so, we do not have to fill here.) |
+ // - There is no color table for this frame. In that case will not |
+ // draw anything, so we need to fill. |
if (frameContext->frameRect() != this->getInfo().bounds() |
|| frameContext->transparentPixel() < SK_MAX_COLORS |
- || frameContext->interlaced()) { |
+ || frameContext->interlaced() || !fCurrColorTableIsReal) { |
// fill ignores the width (replaces it with the actual, scaled width). |
// But we need to scale in Y. |
const int scaledHeight = get_scaled_dimension(dstInfo.height(), |