diff options
Diffstat (limited to 'gpu/command_buffer/service/gles2_cmd_decoder.cc')
-rw-r--r-- | gpu/command_buffer/service/gles2_cmd_decoder.cc | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/gpu/command_buffer/service/gles2_cmd_decoder.cc b/gpu/command_buffer/service/gles2_cmd_decoder.cc index 0d9f326..23a9bac 100644 --- a/gpu/command_buffer/service/gles2_cmd_decoder.cc +++ b/gpu/command_buffer/service/gles2_cmd_decoder.cc @@ -4455,8 +4455,12 @@ void GLES2DecoderImpl::DoDetachShader( if (!shader_info) { return; } + if (!program_info->DetachShader(shader_manager(), shader_info)) { + SetGLError(GL_INVALID_OPERATION, + "glDetachShader: shader not attached to program"); + return; + } glDetachShader(program_info->service_id(), shader_info->service_id()); - program_info->DetachShader(shader_manager(), shader_info); } void GLES2DecoderImpl::DoValidateProgram(GLuint program_client_id) { |