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