| 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;
|
|
|