Index: src/core/SkCanvas.cpp |
diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp |
index a8d73a982a5f591f116b3189d78fa64a5cb60860..eddf106ae4a405c1a18c1456109062efd9ed0d74 100644 |
--- a/src/core/SkCanvas.cpp |
+++ b/src/core/SkCanvas.cpp |
@@ -496,9 +496,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; |