Index: src/core/SkCanvas.cpp |
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp |
index cd4dcbc2a509349838e5957b76f4535f00083c0c..aa984502aa3273459d10833ac246493c1e06dcf4 100644 |
--- a/src/core/SkCanvas.cpp |
+++ b/src/core/SkCanvas.cpp |
@@ -495,9 +495,11 @@ public: |
} |
if (SkDrawLooper* looper = paint.getLooper()) { |
- void* buffer = fLooperContextAllocator.reserveT<SkDrawLooper::Context>( |
- looper->contextSize()); |
- fLooperContext = looper->createContext(canvas, buffer); |
+ fLooperContext = fLooperContextAllocator.createWithIniter( |
+ looper->contextSize(), |
+ [&](void* buffer) { |
+ return looper->createContext(canvas, buffer); |
+ }); |
fIsSimple = false; |
} else { |
fLooperContext = nullptr; |