Index: src/utils/debugger/SkDebugCanvas.cpp |
diff --git a/src/utils/debugger/SkDebugCanvas.cpp b/src/utils/debugger/SkDebugCanvas.cpp |
index 560976cbb7b3261c5c68f6e4c717c62c84cb9bc9..9f11a9e3f31d11c253a3ee8e1764391c92cb93cb 100644 |
--- a/src/utils/debugger/SkDebugCanvas.cpp |
+++ b/src/utils/debugger/SkDebugCanvas.cpp |
@@ -69,15 +69,19 @@ public: |
, fFilterQuality(quality) {} |
protected: |
- void onFilterPaint(SkPaint* paint, Type) const override { |
- if (nullptr != fOverdrawXfermode.get()) { |
- paint->setAntiAlias(false); |
- paint->setXfermode(fOverdrawXfermode.get()); |
- } |
+ bool onFilter(const SkPaint* paint, Type, SkTLazy<SkPaint>* filteredPaint) const override { |
+ if (paint) { |
+ filteredPaint->set(*paint); |
+ if (nullptr != fOverdrawXfermode.get()) { |
+ filteredPaint->get()->setAntiAlias(false); |
+ filteredPaint->get()->setXfermode(fOverdrawXfermode.get()); |
+ } |
- if (fOverrideFilterQuality) { |
- paint->setFilterQuality(fFilterQuality); |
+ if (fOverrideFilterQuality) { |
+ filteredPaint->get()->setFilterQuality(fFilterQuality); |
+ } |
} |
+ return true; |
} |
void onDrawPicture(const SkPicture* picture, |