| Index: src/codec/SkWebpCodec.cpp
|
| diff --git a/src/codec/SkWebpCodec.cpp b/src/codec/SkWebpCodec.cpp
|
| index e8b27b2178fa98b76fa7afd6cf629e1366171632..86bda576e4b2d6801e5834d17108313eac1dd455 100644
|
| --- a/src/codec/SkWebpCodec.cpp
|
| +++ b/src/codec/SkWebpCodec.cpp
|
| @@ -307,13 +307,14 @@ SkCodec::Result SkWebpCodec::onGetPixels(const SkImageInfo& dstInfo, void* dst,
|
| }
|
|
|
| if (colorXform) {
|
| - SkAlphaType xformAlphaType = select_alpha_xform(dstInfo.alphaType(),
|
| + SkColorSpaceXform::ColorFormat colorFormat = select_xform_format(dstInfo.colorType());
|
| + SkAlphaType xformAlphaType = select_xform_alpha(dstInfo.alphaType(),
|
| this->getInfo().alphaType());
|
|
|
| uint32_t* src = (uint32_t*) config.output.u.RGBA.rgba;
|
| size_t srcRowBytes = config.output.u.RGBA.stride;
|
| for (int y = 0; y < rowsDecoded; y++) {
|
| - colorXform->apply(dst, src, dstInfo.width(), dstInfo.colorType(), xformAlphaType);
|
| + colorXform->apply(dst, src, dstInfo.width(), colorFormat, xformAlphaType);
|
| dst = SkTAddOffset<void>(dst, rowBytes);
|
| src = SkTAddOffset<uint32_t>(src, srcRowBytes);
|
| }
|
|
|