| Index: src/effects/SkMorphologyImageFilter.cpp
|
| diff --git a/src/effects/SkMorphologyImageFilter.cpp b/src/effects/SkMorphologyImageFilter.cpp
|
| index 77299e4f78f16259a0752157f503f3ac50426bf2..be63d15b10ea045f7ec2195950c9f7b6be65a094 100644
|
| --- a/src/effects/SkMorphologyImageFilter.cpp
|
| +++ b/src/effects/SkMorphologyImageFilter.cpp
|
| @@ -136,7 +136,11 @@ static void dilateY(const SkBitmap& src, SkBitmap* dst, int radiusY)
|
| bool SkErodeImageFilter::onFilterImage(Proxy* proxy,
|
| const SkBitmap& source, const SkMatrix& ctm,
|
| SkBitmap* dst, SkIPoint* offset) {
|
| - SkBitmap src = this->getInputResult(0, proxy, source, ctm, offset);
|
| + SkBitmap src = source;
|
| + if (getInput(0) && !getInput(0)->filterImage(proxy, source, ctm, &src, offset)) {
|
| + return false;
|
| + }
|
| +
|
| if (src.config() != SkBitmap::kARGB_8888_Config) {
|
| return false;
|
| }
|
| @@ -181,7 +185,10 @@ bool SkErodeImageFilter::onFilterImage(Proxy* proxy,
|
| bool SkDilateImageFilter::onFilterImage(Proxy* proxy,
|
| const SkBitmap& source, const SkMatrix& ctm,
|
| SkBitmap* dst, SkIPoint* offset) {
|
| - SkBitmap src = this->getInputResult(0, proxy, source, ctm, offset);
|
| + SkBitmap src = source;
|
| + if (getInput(0) && !getInput(0)->filterImage(proxy, source, ctm, &src, offset)) {
|
| + return false;
|
| + }
|
| if (src.config() != SkBitmap::kARGB_8888_Config) {
|
| return false;
|
| }
|
|
|