Fix crash caused by freeing capturer task

This commit is contained in:
Cheng Zhao 2017-08-28 16:11:39 +09:00
parent 5510d8cfb1
commit 593ae7bf0e

View file

@ -216,6 +216,10 @@ void NativeDesktopMediaList::Worker::Refresh(
BrowserThread::PostTask( BrowserThread::PostTask(
BrowserThread::UI, FROM_HERE, BrowserThread::UI, FROM_HERE,
base::Bind(&NativeDesktopMediaList::OnRefreshFinished, media_list_)); base::Bind(&NativeDesktopMediaList::OnRefreshFinished, media_list_));
// Destroy capturers when done.
screen_capturer_.reset();
window_capturer_.reset();
} }
void NativeDesktopMediaList::Worker::OnCaptureResult( void NativeDesktopMediaList::Worker::OnCaptureResult(
@ -368,8 +372,5 @@ void NativeDesktopMediaList::OnRefreshFinished() {
base::Bind(&NativeDesktopMediaList::Refresh, base::Bind(&NativeDesktopMediaList::Refresh,
weak_factory_.GetWeakPtr()), weak_factory_.GetWeakPtr()),
update_period_); update_period_);
} else {
// Destroy the capturers.
worker_.reset();
} }
} }