Chromium Code Reviews| Index: content/common/gpu/gpu_channel_manager.cc |
| diff --git a/content/common/gpu/gpu_channel_manager.cc b/content/common/gpu/gpu_channel_manager.cc |
| index a073e20151edce4dc033a6d9e54bf3c0196b214a..951db9a3eac7f37bd1a12e1f2c153e45d84d132a 100644 |
| --- a/content/common/gpu/gpu_channel_manager.cc |
| +++ b/content/common/gpu/gpu_channel_manager.cc |
| @@ -103,10 +103,7 @@ GpuChannelManager::GpuChannelManager(MessageRouter* router, |
| GpuChannelManager::~GpuChannelManager() { |
| gpu_channels_.clear(); |
| - if (default_offscreen_surface_.get()) { |
| - default_offscreen_surface_->Destroy(); |
| - default_offscreen_surface_ = NULL; |
| - } |
| + OnDeleteDefaultOffscreenSurface(); |
|
jbauman
2014/11/12 01:47:28
This shouldn't be necessary, as it'll be deleted a
GusFernandez
2014/11/15 02:11:56
See below.
|
| } |
| gpu::gles2::ProgramCache* GpuChannelManager::program_cache() { |
| @@ -162,6 +159,8 @@ bool GpuChannelManager::OnMessageReceived(const IPC::Message& msg) { |
| OnCreateViewCommandBuffer) |
| IPC_MESSAGE_HANDLER(GpuMsg_DestroyGpuMemoryBuffer, OnDestroyGpuMemoryBuffer) |
| IPC_MESSAGE_HANDLER(GpuMsg_LoadedShader, OnLoadedShader) |
| + IPC_MESSAGE_HANDLER(GpuMsg_DeleteDefaultOffscreenSurface, |
| + OnDeleteDefaultOffscreenSurface) |
| IPC_MESSAGE_UNHANDLED(handled = false) |
| IPC_END_MESSAGE_MAP() |
| return handled; |
| @@ -323,4 +322,11 @@ gfx::GLSurface* GpuChannelManager::GetDefaultOffscreenSurface() { |
| return default_offscreen_surface_.get(); |
| } |
| +void GpuChannelManager::OnDeleteDefaultOffscreenSurface() { |
| + if (default_offscreen_surface_.get()) { |
| + default_offscreen_surface_->Destroy(); |
|
jbauman
2014/11/12 01:47:28
This Destroy should be unnecessary, as it'll be ca
GusFernandez
2014/11/15 02:11:56
The whole point is to release the default_offscree
|
| + default_offscreen_surface_ = NULL; |
| + } |
| +} |
| + |
| } // namespace content |