aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/effects/SkPerlinNoiseShader.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/effects/SkPerlinNoiseShader.cpp')
-rw-r--r--src/effects/SkPerlinNoiseShader.cpp6
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;
}