diff options
Diffstat (limited to 'src/effects/SkPerlinNoiseShader.cpp')
-rw-r--r-- | src/effects/SkPerlinNoiseShader.cpp | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/src/effects/SkPerlinNoiseShader.cpp b/src/effects/SkPerlinNoiseShader.cpp index b721296afe..6e53253f29 100644 --- a/src/effects/SkPerlinNoiseShader.cpp +++ b/src/effects/SkPerlinNoiseShader.cpp @@ -967,7 +967,11 @@ bool SkPerlinNoiseShader::asFragmentProcessor(GrContext* context, const SkPaint& } SkAutoTUnref<SkColorFilter> cf(SkColorFilter::CreateModeFilter( clearColor, SkXfermode::kSrc_Mode)); - *fp = cf->asFragmentProcessor(context); + SkTDArray<GrFragmentProcessor*> array; + if (cf->asFragmentProcessors(context, &array)) { + SkASSERT(1 == array.count()); // modecolorfilter only returns one + *fp = array[0]; // transfer ownership to fp + } return true; } |