From 5aa323a30c854d8250f577e122adc08b615a6ffc Mon Sep 17 00:00:00 2001 From: Jason Simmons Date: Mon, 31 Aug 2020 16:03:02 -0700 Subject: [PATCH] Reset Shell::weak_factory_gpu_ on the raster thread (flutter/engine#20869) --- engine/src/flutter/shell/common/shell.cc | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/engine/src/flutter/shell/common/shell.cc b/engine/src/flutter/shell/common/shell.cc index 4438d9bd5cd..61e190ba3f3 100644 --- a/engine/src/flutter/shell/common/shell.cc +++ b/engine/src/flutter/shell/common/shell.cc @@ -400,13 +400,12 @@ Shell::~Shell() { fml::TaskRunner::RunNowOrPostTask( task_runners_.GetRasterTaskRunner(), - fml::MakeCopyable([rasterizer = std::move(rasterizer_), - weak_factory_gpu = std::move(weak_factory_gpu_), - &gpu_latch]() mutable { - rasterizer.reset(); - weak_factory_gpu.reset(); - gpu_latch.Signal(); - })); + fml::MakeCopyable( + [this, rasterizer = std::move(rasterizer_), &gpu_latch]() mutable { + rasterizer.reset(); + this->weak_factory_gpu_.reset(); + gpu_latch.Signal(); + })); gpu_latch.Wait(); fml::TaskRunner::RunNowOrPostTask(