| 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();
|
| + }
|
| }
|
| }
|
| }
|
|
|