Index: src/effects/SkColorFilters.cpp |
diff --git a/src/effects/SkColorFilters.cpp b/src/effects/SkColorFilters.cpp |
index 10e69585700bab508f63c6580436b551a667eecb..6f7d6886f815d6618725bd55cafe68c0fe788f35 100644 |
--- a/src/effects/SkColorFilters.cpp |
+++ b/src/effects/SkColorFilters.cpp |
@@ -366,11 +366,18 @@ GrFragmentProcessor* ModeColorFilterEffect::TestCreate(SkRandom* rand, |
return ModeColorFilterEffect::Create(color, mode); |
} |
-GrFragmentProcessor* SkModeColorFilter::asFragmentProcessor(GrContext*) const { |
+bool SkModeColorFilter::asFragmentProcessors(GrContext*, |
+ SkTDArray<GrFragmentProcessor*>* array) const { |
if (SkXfermode::kDst_Mode != fMode) { |
- return ModeColorFilterEffect::Create(SkColor2GrColor(fColor), fMode); |
+ GrFragmentProcessor* frag = ModeColorFilterEffect::Create(SkColor2GrColor(fColor), fMode); |
+ if (frag) { |
+ if (array) { |
+ *array->append() = frag; |
+ } |
+ return true; |
+ } |
} |
- return NULL; |
+ return false; |
} |
#endif |