| Index: cc/output/gl_renderer.cc
|
| diff --git a/cc/output/gl_renderer.cc b/cc/output/gl_renderer.cc
|
| index 0133b277d66461809010534a6e56e07fc9c47a92..2b1f2a1bf8649739a8c7ed0af6d87ebe3c4904b8 100644
|
| --- a/cc/output/gl_renderer.cc
|
| +++ b/cc/output/gl_renderer.cc
|
| @@ -752,9 +752,15 @@ void GLRenderer::DrawRenderPassQuad(DrawingFrame* frame,
|
| SkScalar color_matrix[20];
|
| bool use_color_matrix = false;
|
| if (quad->filter) {
|
| - SkColorFilter* cf;
|
| - if ((quad->filter->asColorFilter(&cf)) && cf->asColorMatrix(color_matrix) &&
|
| - !quad->filter->getInput(0)) {
|
| + skia::RefPtr<SkColorFilter> cf;
|
| +
|
| + {
|
| + SkColorFilter* colorfilter_rawptr = NULL;
|
| + quad->filter->asColorFilter(&colorfilter_rawptr);
|
| + cf = skia::AdoptRef(colorfilter_rawptr);
|
| + }
|
| +
|
| + if (cf && cf->asColorMatrix(color_matrix) && !quad->filter->getInput(0)) {
|
| // We have a single color matrix as a filter; apply it locally
|
| // in the compositor.
|
| use_color_matrix = true;
|
|
|