Index: src/effects/SkMagnifierImageFilter.cpp |
diff --git a/src/effects/SkMagnifierImageFilter.cpp b/src/effects/SkMagnifierImageFilter.cpp |
index 973ac66905659395b27f40ecdedcc5eefcbb8ecf..e0826efe0d16510269178e7f3a7369a64f9df929 100644 |
--- a/src/effects/SkMagnifierImageFilter.cpp |
+++ b/src/effects/SkMagnifierImageFilter.cpp |
@@ -235,7 +235,7 @@ |
SkImageFilter* SkMagnifierImageFilter::Create(const SkRect& srcRect, SkScalar inset, |
SkImageFilter* input) { |
- |
+ |
if (!SkScalarIsFinite(inset) || !SkIsValidRect(srcRect)) { |
return NULL; |
} |
@@ -246,6 +246,22 @@ |
return SkNEW_ARGS(SkMagnifierImageFilter, (srcRect, inset, input)); |
} |
+ |
+#ifdef SK_SUPPORT_LEGACY_DEEPFLATTENING |
+SkMagnifierImageFilter::SkMagnifierImageFilter(SkReadBuffer& buffer) |
+ : INHERITED(1, buffer) { |
+ float x = buffer.readScalar(); |
+ float y = buffer.readScalar(); |
+ float width = buffer.readScalar(); |
+ float height = buffer.readScalar(); |
+ fSrcRect = SkRect::MakeXYWH(x, y, width, height); |
+ fInset = buffer.readScalar(); |
+ |
+ buffer.validate(SkScalarIsFinite(fInset) && SkIsValidRect(fSrcRect) && |
+ // Negative numbers in src rect are not supported |
+ (fSrcRect.fLeft >= 0) && (fSrcRect.fTop >= 0)); |
+} |
+#endif |
SkMagnifierImageFilter::SkMagnifierImageFilter(const SkRect& srcRect, SkScalar inset, |
SkImageFilter* input) |