aboutsummaryrefslogtreecommitdiffhomepage
path: root/src
diff options
context:
space:
mode:
Diffstat (limited to 'src')
-rw-r--r--src/effects/SkRectShaderImageFilter.cpp12
1 files changed, 10 insertions, 2 deletions
diff --git a/src/effects/SkRectShaderImageFilter.cpp b/src/effects/SkRectShaderImageFilter.cpp
index b1faebc813..37d6af28ad 100644
--- a/src/effects/SkRectShaderImageFilter.cpp
+++ b/src/effects/SkRectShaderImageFilter.cpp
@@ -16,9 +16,17 @@ SkRectShaderImageFilter* SkRectShaderImageFilter::Create(SkShader* s, const SkRe
SkASSERT(s);
#ifdef SK_CROP_RECT_IS_INT
SkIRect cropRect;
- rect.roundOut(&cropRect);
+ if (rect.width() == 0 || rect.height() == 0) {
+ cropRect = SkIRect::MakeLargest();
+ } else {
+ rect.roundOut(&cropRect);
+ }
#else
- CropRect cropRect(rect);
+ uint32_t flags = CropRect::kHasAll_CropEdge;
+ if (rect.width() == 0 || rect.height() == 0) {
+ flags = 0x0;
+ }
+ CropRect cropRect(rect, flags);
#endif
return SkNEW_ARGS(SkRectShaderImageFilter, (s, &cropRect));
}