Index: src/core/SkPictureStateTree.cpp |
diff --git a/src/core/SkPictureStateTree.cpp b/src/core/SkPictureStateTree.cpp |
index ca3032df4f909c860b20ec4a5f99a8cf3db55aa9..891d04ca21bc4ae7a9b11b679afb7b2434c2fba6 100644 |
--- a/src/core/SkPictureStateTree.cpp |
+++ b/src/core/SkPictureStateTree.cpp |
@@ -124,7 +124,7 @@ uint32_t SkPictureStateTree::Iterator::draw() { |
Node* targetNode = draw->fNode; |
if (fSave) { |
- fCanvas->save(SkCanvas::kClip_SaveFlag); |
+ fCanvas->save(); |
fSave = false; |
} |
@@ -162,6 +162,9 @@ uint32_t SkPictureStateTree::Iterator::draw() { |
fCanvas->restore(); |
} |
if (targetNode != ancestor) { |
+ // FIXME: the save below depends on soon-to-be-deprecated |
+ // SaveFlags behavior: it relies on matrix changes persisting |
+ // after restore. |
fCanvas->save(SkCanvas::kClip_SaveFlag); |
} |
} |