Index: src/gpu/SkGr.cpp |
diff --git a/src/gpu/SkGr.cpp b/src/gpu/SkGr.cpp |
index 401a50eca8b53145b17734b652271ce993a1707e..ff6f7fa098ed47cd254d82b9f1edafed023e3655 100644 |
--- a/src/gpu/SkGr.cpp |
+++ b/src/gpu/SkGr.cpp |
@@ -662,9 +662,12 @@ void SkPaint2GrPaintNoShader(GrContext* context, GrRenderTarget* rt, const SkPai |
SkColor filtered = colorFilter->filterColor(skPaint.getColor()); |
grPaint->setColor(SkColor2GrColor(filtered)); |
} else { |
- SkAutoTUnref<GrFragmentProcessor> fp(colorFilter->asFragmentProcessor(context)); |
- if (fp.get()) { |
- grPaint->addColorProcessor(fp); |
+ SkTDArray<GrFragmentProcessor*> array; |
+ if (colorFilter->asFragmentProcessors(context, &array)) { |
+ for (int i = 0; i < array.count(); ++i) { |
+ grPaint->addColorProcessor(array[i]); |
+ array[i]->unref(); |
+ } |
} |
} |
} |