always clear the looper when we're unrolling it, to not confused devices
Discovered by https://skia-review.googlesource.com/c/skia/+/119570 Bug: skia: Change-Id: I18c13052c5eb410a46ab16e2f1015861948678af Reviewed-on: https://skia-review.googlesource.com/121062 Reviewed-by: Florin Malita <fmalita@chromium.org> Commit-Queue: Mike Reed <reed@google.com>
This commit is contained in:
parent
371001bbf7
commit
dd8ae14528
@ -433,6 +433,7 @@ public:
|
||||
|
||||
const SkPaint& paint() const {
|
||||
SkASSERT(fPaint);
|
||||
SkASSERT(fPaint->getDrawLooper() == nullptr); // we should have cleared this
|
||||
return *fPaint;
|
||||
}
|
||||
|
||||
@ -471,6 +472,8 @@ bool AutoDrawLooper::doNext(SkDrawFilter::Type drawType) {
|
||||
|
||||
SkPaint* paint = fLazyPaintPerLooper.set(fLazyPaintInit.isValid() ?
|
||||
*fLazyPaintInit.get() : fOrigPaint);
|
||||
// never want our downstream clients (i.e. devices) to see loopers
|
||||
paint->setDrawLooper(nullptr);
|
||||
|
||||
if (fTempLayerForImageFilter) {
|
||||
paint->setImageFilter(nullptr);
|
||||
|
Loading…
Reference in New Issue
Block a user