Avoid capturing raw pointers to the SkPicture/DisplayList used by the RasterizeToImage draw callback (flutter/engine#27123)

This commit is contained in:
Jason Simmons 2021-07-01 15:16:02 -07:00 committed by GitHub
parent 60b4b395c2
commit da162d3a2e

View File

@ -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<SkPicture> 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(