| Index: src/effects/SkMatrixConvolutionImageFilter.cpp
|
| diff --git a/src/effects/SkMatrixConvolutionImageFilter.cpp b/src/effects/SkMatrixConvolutionImageFilter.cpp
|
| index 5e5f20ba8ff4200fe1d4a85b53089e6ae6fdffe7..3eb7a0b5d44e4446e8b11d24cebb4bdd36c25f7d 100644
|
| --- a/src/effects/SkMatrixConvolutionImageFilter.cpp
|
| +++ b/src/effects/SkMatrixConvolutionImageFilter.cpp
|
| @@ -36,14 +36,16 @@ SkMatrixConvolutionImageFilter::SkMatrixConvolutionImageFilter(const SkISize& ke
|
| const CropRect* cropRect)
|
| : INHERITED(&input, 1, cropRect)
|
| , fKernelSize(kernelSize)
|
| - , fGain(gain)
|
| - , fBias(bias)
|
| + , fGain(SkScalarNormalize(gain))
|
| + , fBias(SkScalarNormalize(bias))
|
| , fKernelOffset(kernelOffset)
|
| , fTileMode(tileMode)
|
| , fConvolveAlpha(convolveAlpha) {
|
| size_t size = (size_t) sk_64_mul(fKernelSize.width(), fKernelSize.height());
|
| fKernel = new SkScalar[size];
|
| - memcpy(fKernel, kernel, size * sizeof(SkScalar));
|
| + for (size_t i = 0; i < size; ++i) {
|
| + fKernel[i] = SkScalarNormalize(kernel[i]);
|
| + }
|
| SkASSERT(kernelSize.fWidth >= 1 && kernelSize.fHeight >= 1);
|
| SkASSERT(kernelOffset.fX >= 0 && kernelOffset.fX < kernelSize.fWidth);
|
| SkASSERT(kernelOffset.fY >= 0 && kernelOffset.fY < kernelSize.fHeight);
|
|
|