diff options
author | 2014-10-30 14:05:14 -0700 | |
---|---|---|
committer | 2014-10-30 14:05:15 -0700 | |
commit | 9bde31e95ddd82a4a923275bb01265740407dab1 (patch) | |
tree | 217a431fce925cb4ad2d50167bf502ce6f52144e /src/effects/SkColorFilterImageFilter.cpp | |
parent | e228ba3e5cab59034875ea6599527aab30f04623 (diff) |
Trying to be consistent when members are allowed to be NULL
Got a few crashes running the fuzzer locally, all related to handling NULL members/parameters in an inconsistent way.
BUG=skia:
Review URL: https://codereview.chromium.org/675013003
Diffstat (limited to 'src/effects/SkColorFilterImageFilter.cpp')
-rwxr-xr-x | src/effects/SkColorFilterImageFilter.cpp | 9 |
1 files changed, 5 insertions, 4 deletions
diff --git a/src/effects/SkColorFilterImageFilter.cpp b/src/effects/SkColorFilterImageFilter.cpp index 2a8df5c672..806dd5dd01 100755 --- a/src/effects/SkColorFilterImageFilter.cpp +++ b/src/effects/SkColorFilterImageFilter.cpp @@ -60,6 +60,9 @@ bool matrix_needs_clamping(SkScalar matrix[20]) { SkColorFilterImageFilter* SkColorFilterImageFilter::Create(SkColorFilter* cf, SkImageFilter* input, const CropRect* cropRect, uint32_t uniqueID) { SkASSERT(cf); + if (NULL == cf) { + return NULL; + } SkScalar colorMatrix[20], inputMatrix[20]; SkColorFilter* inputColorFilter; if (input && cf->asColorMatrix(colorMatrix) @@ -78,9 +81,7 @@ SkColorFilterImageFilter* SkColorFilterImageFilter::Create(SkColorFilter* cf, SkColorFilterImageFilter::SkColorFilterImageFilter(SkColorFilter* cf, SkImageFilter* input, const CropRect* cropRect, uint32_t uniqueID) - : INHERITED(1, &input, cropRect, uniqueID), fColorFilter(cf) { - SkASSERT(cf); - SkSafeRef(cf); + : INHERITED(1, &input, cropRect, uniqueID), fColorFilter(SkRef(cf)) { } #ifdef SK_SUPPORT_LEGACY_DEEPFLATTENING @@ -102,7 +103,7 @@ void SkColorFilterImageFilter::flatten(SkWriteBuffer& buffer) const { } SkColorFilterImageFilter::~SkColorFilterImageFilter() { - SkSafeUnref(fColorFilter); + fColorFilter->unref(); } bool SkColorFilterImageFilter::onFilterImage(Proxy* proxy, const SkBitmap& source, |