Index: src/core/SkCanvas.cpp |
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp |
index 89c3c9e0061d09ac1511d36303e629d142820cba..f8731e9ad2004b7c96b36c47a671abcbbce6278e 100644 |
--- a/src/core/SkCanvas.cpp |
+++ b/src/core/SkCanvas.cpp |
@@ -1217,8 +1217,7 @@ void SkCanvas::internalSaveLayer(const SaveLayerRec& rec, SaveLayerStrategy stra |
* Perhaps in the future we could augment #5 to apply REMAINDER as part of the draw (no longer |
* a sprite operation) to avoid the extra buffer/overhead of MatrixImageFilter. |
*/ |
- if (imageFilter && |
- !stashedMatrix.isScaleTranslate() && |
+ if (imageFilter && !stashedMatrix.isScaleTranslate() && !imageFilter->canHandleAffine() && |
stashedMatrix.decomposeScale(&scale, &remainder)) |
{ |
// We will restore the matrix (which we are overwriting here) in restore via fStashedMatrix |