From 593ae7bf0e8854d240082c0e7c5fc962599ae7b0 Mon Sep 17 00:00:00 2001 From: Cheng Zhao Date: Mon, 28 Aug 2017 16:11:39 +0900 Subject: [PATCH] Fix crash caused by freeing capturer task --- .../chrome/browser/media/native_desktop_media_list.cc | 7 ++++--- 1 file changed, 4 insertions(+), 3 deletions(-) diff --git a/chromium_src/chrome/browser/media/native_desktop_media_list.cc b/chromium_src/chrome/browser/media/native_desktop_media_list.cc index f6a92a54942c..d71a794054f8 100644 --- a/chromium_src/chrome/browser/media/native_desktop_media_list.cc +++ b/chromium_src/chrome/browser/media/native_desktop_media_list.cc @@ -216,6 +216,10 @@ void NativeDesktopMediaList::Worker::Refresh( BrowserThread::PostTask( BrowserThread::UI, FROM_HERE, base::Bind(&NativeDesktopMediaList::OnRefreshFinished, media_list_)); + + // Destroy capturers when done. + screen_capturer_.reset(); + window_capturer_.reset(); } void NativeDesktopMediaList::Worker::OnCaptureResult( @@ -368,8 +372,5 @@ void NativeDesktopMediaList::OnRefreshFinished() { base::Bind(&NativeDesktopMediaList::Refresh, weak_factory_.GetWeakPtr()), update_period_); - } else { - // Destroy the capturers. - worker_.reset(); } }