| Index: src/core/SkCanvas.cpp
|
| diff --git a/src/core/SkCanvas.cpp b/src/core/SkCanvas.cpp
|
| index cd4dcbc2a509349838e5957b76f4535f00083c0c..980a5e447b13c416add858516fef6113be115a94 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.createWithIniterT<SkDrawLooper::Context>(
|
| + looper->contextSize(),
|
| + [&](void* buffer) {
|
| + return looper->createContext(canvas, buffer);
|
| + });
|
| fIsSimple = false;
|
| } else {
|
| fLooperContext = nullptr;
|
|
|