| Index: src/core/SkCanvas.cpp
|
| diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
|
| index c1d2726d8c3a9b5ffc853a3adfc27a924758422d..665d60f898e44c0920c424b06921aabea35b8891 100644
|
| --- a/src/core/SkCanvas.cpp
|
| +++ b/src/core/SkCanvas.cpp
|
| @@ -1609,12 +1609,13 @@ void SkCanvas::updateClipConservativelyUsingBounds(const SkRect& bounds, SkRegio
|
| SkIRect deviceIBounds;
|
| this->getDevice()->getGlobalBounds(&deviceIBounds);
|
| deviceBounds = SkRect::Make(deviceIBounds);
|
| - this->SkCanvas::save(SkCanvas::kMatrix_SaveFlag);
|
| +
|
| // set the clip in device space
|
| + SkMatrix savedMatrix = this->getTotalMatrix();
|
| this->SkCanvas::setMatrix(SkMatrix::I());
|
| this->SkCanvas::onClipRect(deviceBounds, SkRegion::kReplace_Op,
|
| kHard_ClipEdgeStyle);
|
| - this->SkCanvas::restore(); //pop the matrix, but keep the clip
|
| + this->setMatrix(savedMatrix);
|
| break;
|
| }
|
| default:
|
|
|