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); |