Index: src/effects/SkDropShadowImageFilter.cpp |
diff --git a/src/effects/SkDropShadowImageFilter.cpp b/src/effects/SkDropShadowImageFilter.cpp |
index f1ebae8d97de2493f458c7399b145348bc7eac1b..29d685becccb7b286ec3575a1858eaf69f6b4ad8 100644 |
--- a/src/effects/SkDropShadowImageFilter.cpp |
+++ b/src/effects/SkDropShadowImageFilter.cpp |
@@ -121,9 +121,6 @@ void SkDropShadowImageFilter::computeFastBounds(const SkRect& src, SkRect* dst) |
bool SkDropShadowImageFilter::onFilterBounds(const SkIRect& src, const SkMatrix& ctm, |
SkIRect* dst) const { |
SkIRect bounds = src; |
- if (getInput(0) && !getInput(0)->filterBounds(src, ctm, &bounds)) { |
- return false; |
- } |
SkVector offsetVec = SkVector::Make(fDx, fDy); |
ctm.mapVectors(&offsetVec, 1); |
bounds.offset(-SkScalarCeilToInt(offsetVec.x()), |
@@ -133,6 +130,9 @@ bool SkDropShadowImageFilter::onFilterBounds(const SkIRect& src, const SkMatrix& |
bounds.outset(SkScalarCeilToInt(SkScalarMul(sigma.x(), SkIntToScalar(3))), |
SkScalarCeilToInt(SkScalarMul(sigma.y(), SkIntToScalar(3)))); |
bounds.join(src); |
+ if (getInput(0) && !getInput(0)->filterBounds(bounds, ctm, &bounds)) { |
+ return false; |
+ } |
*dst = bounds; |
return true; |
} |