Index: src/core/SkPicturePlayback.cpp |
=================================================================== |
--- src/core/SkPicturePlayback.cpp (revision 13622) |
+++ src/core/SkPicturePlayback.cpp (working copy) |
@@ -819,7 +819,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 |
@@ -834,7 +835,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 |
@@ -849,7 +851,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 |
@@ -865,7 +868,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 |