Index: gpu/command_buffer/service/gles2_cmd_decoder.cc |
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc |
index 02e464c6dfe4ad474a692504acc60328f6f59f37..8a035114f52e142bd7a88abe407e790945175b03 100644 |
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc |
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc |
@@ -4855,6 +4855,10 @@ void GLES2DecoderImpl::Destroy(bool have_context) { |
gpu_tracer_.reset(); |
} |
+ // Destroy the surface before the context, some surface destructors make GL |
+ // calls. |
+ surface_ = nullptr; |
+ |
if (group_.get()) { |
group_->Destroy(this, have_context); |
group_ = NULL; |