Index: src/codec/SkPngCodec.cpp |
diff --git a/src/codec/SkPngCodec.cpp b/src/codec/SkPngCodec.cpp |
index 46da29e5594074e3e6359db6ad55568ab47d51fe..0002bc5a31b922eb1e869bc20f9eb6c2440f7886 100644 |
--- a/src/codec/SkPngCodec.cpp |
+++ b/src/codec/SkPngCodec.cpp |
@@ -899,12 +899,15 @@ SkCodec::Result SkPngCodec::onGetPixels(const SkImageInfo& dstInfo, void* dst, |
return kSuccess; |
} |
-uint32_t SkPngCodec::onGetFillValue(SkColorType colorType) const { |
+uint64_t SkPngCodec::onGetFillValue(const SkImageInfo& dstInfo) const { |
const SkPMColor* colorPtr = get_color_ptr(fColorTable.get()); |
if (colorPtr) { |
- return get_color_table_fill_value(colorType, colorPtr, 0); |
+ SkAlphaType alphaType = select_alpha_xform(dstInfo.alphaType(), |
+ this->getInfo().alphaType()); |
+ return get_color_table_fill_value(dstInfo.colorType(), alphaType, colorPtr, 0, |
+ fColorXform.get()); |
} |
- return INHERITED::onGetFillValue(colorType); |
+ return INHERITED::onGetFillValue(dstInfo); |
} |
SkCodec* SkPngCodec::NewFromStream(SkStream* stream, SkPngChunkReader* chunkReader) { |