| Index: src/core/SkBlitter.cpp | 
| diff --git a/src/core/SkBlitter.cpp b/src/core/SkBlitter.cpp | 
| index 15562168e990a5bbb5eb5fef9b1f1da4c03b8d8e..04897e3828af4ec077ec27102e88b279437969a8 100644 | 
| --- a/src/core/SkBlitter.cpp | 
| +++ b/src/core/SkBlitter.cpp | 
| @@ -844,8 +844,7 @@ | 
| if (SkXfermode::IsMode(mode, SkXfermode::kClear_Mode)) { | 
| SkPaint* p = paint.writable(); | 
| shader = p->setShader(nullptr); | 
| -        p->setColorFilter(nullptr); | 
| -        cf = nullptr; | 
| +        cf = p->setColorFilter(nullptr); | 
| mode = p->setXfermodeMode(SkXfermode::kSrc_Mode); | 
| p->setColor(0); | 
| } | 
| @@ -868,7 +867,7 @@ | 
|  | 
| if (cf) { | 
| SkASSERT(shader); | 
| -        paint.writable()->setShader(shader->makeWithColorFilter(sk_ref_sp(cf))); | 
| +        paint.writable()->setShader(shader->makeWithColorFilter(cf)); | 
| shader = paint->getShader(); | 
| // blitters should ignore the presence/absence of a filter, since | 
| // if there is one, the shader will take care of it. | 
|  |