| Index: content/browser/gpu/browser_gpu_channel_host_factory.cc
|
| diff --git a/content/browser/gpu/browser_gpu_channel_host_factory.cc b/content/browser/gpu/browser_gpu_channel_host_factory.cc
|
| index 9edb9677c56abc2b4801d5aa62193d362236b95c..4325c066269d8965667225b9b2176ec1f6867d83 100644
|
| --- a/content/browser/gpu/browser_gpu_channel_host_factory.cc
|
| +++ b/content/browser/gpu/browser_gpu_channel_host_factory.cc
|
| @@ -295,6 +295,10 @@ BrowserGpuChannelHostFactory::~BrowserGpuChannelHostFactory() {
|
| for (size_t n = 0; n < established_callbacks_.size(); n++)
|
| established_callbacks_[n].Run();
|
| shutdown_event_->Signal();
|
| + if (gpu_channel_) {
|
| + gpu_channel_->DestroyChannel();
|
| + gpu_channel_ = NULL;
|
| + }
|
| }
|
|
|
| bool BrowserGpuChannelHostFactory::IsMainThread() {
|
| @@ -396,6 +400,7 @@ void BrowserGpuChannelHostFactory::EstablishGpuChannel(
|
| if (gpu_channel_.get() && gpu_channel_->IsLost()) {
|
| DCHECK(!pending_request_.get());
|
| // Recreate the channel if it has been lost.
|
| + gpu_channel_->DestroyChannel();
|
| gpu_channel_ = NULL;
|
| }
|
|
|
|
|