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 56b5ef233e2816c273cce90d7d993f3803f7c7b4..98dd7b81888dc6f50a1ac7efdd2c56ff00af1c4f 100644 |
--- a/gpu/command_buffer/service/gles2_cmd_decoder.cc |
+++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc |
@@ -4849,6 +4849,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; |