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