| 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
|
|
|