gl: crash when deleting null shader

This commit is contained in:
Flyinghead 2020-03-28 12:33:48 +01:00
parent 40854fbf31
commit 9ce25a4e72
2 changed files with 7 additions and 1 deletions

View File

@ -151,6 +151,8 @@ public:
void DeleteProgram(GLuint program) void DeleteProgram(GLuint program)
{ {
if (program == 0)
return;
GLsizei shader_count; GLsizei shader_count;
GLuint shaders[2]; GLuint shaders[2];
glGetAttachedShaders(program, ARRAY_SIZE(shaders), &shader_count, shaders); glGetAttachedShaders(program, ARRAY_SIZE(shaders), &shader_count, shaders);

View File

@ -767,7 +767,11 @@ void gl_load_osd_resources()
void gl_free_osd_resources() void gl_free_osd_resources()
{ {
if (gl.OSD_SHADER.program != 0)
{
glcache.DeleteProgram(gl.OSD_SHADER.program); glcache.DeleteProgram(gl.OSD_SHADER.program);
gl.OSD_SHADER.program = 0;
}
if (gl.OSD_SHADER.osd_tex != 0) { if (gl.OSD_SHADER.osd_tex != 0) {
glcache.DeleteTextures(1, &gl.OSD_SHADER.osd_tex); glcache.DeleteTextures(1, &gl.OSD_SHADER.osd_tex);