Index: src/core/SkPicturePlayback.cpp |
=================================================================== |
--- src/core/SkPicturePlayback.cpp (revision 13577) |
+++ src/core/SkPicturePlayback.cpp (working copy) |
@@ -814,7 +814,8 @@ |
size_t offsetToRestore = reader.readInt(); |
SkASSERT(!offsetToRestore || \ |
offsetToRestore >= reader.offset()); |
- if (!canvas.clipPath(path, regionOp, doAA) && offsetToRestore) { |
+ canvas.clipPath(path, regionOp, doAA); |
+ if (canvas.isClipEmpty() && offsetToRestore) { |
#ifdef SPEW_CLIP_SKIPPING |
skipPath.recordSkip(offsetToRestore - reader.offset()); |
#endif |
@@ -829,7 +830,8 @@ |
size_t offsetToRestore = reader.readInt(); |
SkASSERT(!offsetToRestore || \ |
offsetToRestore >= reader.offset()); |
- if (!canvas.clipRegion(region, regionOp) && offsetToRestore) { |
+ canvas.clipRegion(region, regionOp); |
+ if (canvas.isClipEmpty() && offsetToRestore) { |
#ifdef SPEW_CLIP_SKIPPING |
skipRegion.recordSkip(offsetToRestore - reader.offset()); |
#endif |
@@ -844,7 +846,8 @@ |
size_t offsetToRestore = reader.readInt(); |
SkASSERT(!offsetToRestore || \ |
offsetToRestore >= reader.offset()); |
- if (!canvas.clipRect(rect, regionOp, doAA) && offsetToRestore) { |
+ canvas.clipRect(rect, regionOp, doAA); |
+ if (canvas.isClipEmpty() && offsetToRestore) { |
#ifdef SPEW_CLIP_SKIPPING |
skipRect.recordSkip(offsetToRestore - reader.offset()); |
#endif |
@@ -860,7 +863,8 @@ |
size_t offsetToRestore = reader.readInt(); |
SkASSERT(!offsetToRestore || \ |
offsetToRestore >= reader.offset()); |
- if (!canvas.clipRRect(rrect, regionOp, doAA) && offsetToRestore) { |
+ canvas.clipRRect(rrect, regionOp, doAA); |
+ if (canvas.isClipEmpty() && offsetToRestore) { |
#ifdef SPEW_CLIP_SKIPPING |
skipRRect.recordSkip(offsetToRestore - reader.offset()); |
#endif |