From b969fc0f83528c26c6fdf1cbe8b45fb9a4d8a858 Mon Sep 17 00:00:00 2001 From: reed Date: Tue, 11 Nov 2014 13:13:35 -0800 Subject: notice null colorfilter in legacy unflattening BUG=skia:3117 Review URL: https://codereview.chromium.org/691383003 --- src/effects/SkColorFilterImageFilter.cpp | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) (limited to 'src') diff --git a/src/effects/SkColorFilterImageFilter.cpp b/src/effects/SkColorFilterImageFilter.cpp index 806dd5dd01..012f1329a4 100755 --- a/src/effects/SkColorFilterImageFilter.cpp +++ b/src/effects/SkColorFilterImageFilter.cpp @@ -85,9 +85,17 @@ SkColorFilterImageFilter::SkColorFilterImageFilter(SkColorFilter* cf, } #ifdef SK_SUPPORT_LEGACY_DEEPFLATTENING -SkColorFilterImageFilter::SkColorFilterImageFilter(SkReadBuffer& buffer) - : INHERITED(1, buffer) { +SkColorFilterImageFilter::SkColorFilterImageFilter(SkReadBuffer& buffer) : INHERITED(1, buffer) { fColorFilter = buffer.readColorFilter(); + // we aren't prepared for this to be NULL, and it can't ever be when we're NOT supporting + // SK_SUPPORT_LEGACY_DEEPFLATTENING, as we always go through a factory which can detect + // NULL. However, since here we're in the legacy code, we assign a dummy filter so we + // don't crash with a null-ptr. + if (NULL == fColorFilter) { + // colormatrix identity is effectively a no-op + fColorFilter = SkColorMatrixFilter::Create(SkColorMatrix()); + SkASSERT(fColorFilter); + } } #endif -- cgit v1.2.3