From 56b26279863b0373a59e45808a7de5ef114c7ee2 Mon Sep 17 00:00:00 2001 From: Jason Simmons Date: Thu, 1 Jul 2021 15:16:02 -0700 Subject: [PATCH] Avoid capturing raw pointers to the SkPicture/DisplayList used by the RasterizeToImage draw callback (#27123) --- lib/ui/painting/picture.cc | 8 +++----- 1 file changed, 3 insertions(+), 5 deletions(-) diff --git a/lib/ui/painting/picture.cc b/lib/ui/painting/picture.cc index 2789d2eec672..b16c00c5a494 100644 --- a/lib/ui/painting/picture.cc +++ b/lib/ui/painting/picture.cc @@ -58,7 +58,7 @@ Dart_Handle Picture::toImage(uint32_t width, Dart_Handle raw_image_callback) { if (display_list_) { return RasterizeToImage( - [display_list = display_list_.get()](SkCanvas* canvas) { + [display_list = display_list_](SkCanvas* canvas) { display_list->RenderTo(canvas); }, width, height, raw_image_callback); @@ -91,10 +91,8 @@ Dart_Handle Picture::RasterizeToImage(sk_sp picture, uint32_t height, Dart_Handle raw_image_callback) { return RasterizeToImage( - [sk_picture = picture.get()](SkCanvas* canvas) { - canvas->drawPicture(sk_picture); - }, - width, height, raw_image_callback); + [picture](SkCanvas* canvas) { canvas->drawPicture(picture); }, width, + height, raw_image_callback); } Dart_Handle Picture::RasterizeToImage(