| Index: src/core/SkCanvas.cpp
|
| diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
|
| index e4c03f3e5e0857464e52a43be2fa1518854d6e25..55b3b7ba7a7987ec878e82692eb94fc94cf98506 100644
|
| --- a/src/core/SkCanvas.cpp
|
| +++ b/src/core/SkCanvas.cpp
|
| @@ -831,7 +831,7 @@ static bool bounds_affects_clip(SkCanvas::SaveFlags flags) {
|
| }
|
|
|
| bool SkCanvas::clipRectBounds(const SkRect* bounds, SaveFlags flags,
|
| - SkIRect* intersection, const SkImageFilter* imageFilter) {
|
| + SkIRect* intersection, const SkImageFilter* imageFilter) {
|
| SkIRect clipBounds;
|
| SkRegion::Op op = SkRegion::kIntersect_Op;
|
| if (!this->getClipDeviceBounds(&clipBounds)) {
|
| @@ -854,6 +854,7 @@ bool SkCanvas::clipRectBounds(const SkRect* bounds, SaveFlags flags,
|
| // early exit if the layer's bounds are clipped out
|
| if (!ir.intersect(clipBounds)) {
|
| if (bounds_affects_clip(flags)) {
|
| + fCachedLocalClipBoundsDirty = true;
|
| fMCRec->fRasterClip.setEmpty();
|
| }
|
| return false;
|
| @@ -863,6 +864,7 @@ bool SkCanvas::clipRectBounds(const SkRect* bounds, SaveFlags flags,
|
| }
|
|
|
| if (bounds_affects_clip(flags)) {
|
| + fCachedLocalClipBoundsDirty = true;
|
| fClipStack->clipDevRect(ir, op);
|
| // early exit if the clip is now empty
|
| if (!fMCRec->fRasterClip.op(ir, op)) {
|
|
|