diff --git a/src/gui/render.cpp b/src/gui/render.cpp index fad9648b..40d823bd 100644 --- a/src/gui/render.cpp +++ b/src/gui/render.cpp @@ -22,6 +22,7 @@ #include #include #include +#include #include "dosbox.h" #include "video.h" diff --git a/src/gui/sdlmain.cpp b/src/gui/sdlmain.cpp index 66fd8c60..c4e0209a 100644 --- a/src/gui/sdlmain.cpp +++ b/src/gui/sdlmain.cpp @@ -704,9 +704,12 @@ static GLuint BuildShader ( GLenum type, const char *shaderSrc ) { if (infoLen>1) { char* infoLog = (char*)malloc(infoLen); - glGetShaderInfoLog(shader, infoLen, NULL, infoLog); - LOG_MSG("Error compiling shader: %s", infoLog); - free(infoLog); + if (infoLog==NULL) LOG_MSG("Error getting shader compilation log"); + else { + glGetShaderInfoLog(shader, infoLen, NULL, infoLog); + LOG_MSG("Error compiling shader: %s", infoLog); + free(infoLog); + } } glDeleteShader(shader); @@ -968,9 +971,12 @@ dosurface: glGetProgramiv(sdl.opengl.program_object, GL_INFO_LOG_LENGTH, &infoLen); if (infoLen>1) { char *infoLog = (char*)malloc(infoLen); - glGetProgramInfoLog(sdl.opengl.program_object, infoLen, NULL, infoLog); - LOG_MSG("SDL:OPENGL:Error link prograram:\n %s", infoLog); - free(infoLog); + if (infoLog==NULL) LOG_MSG("SDL:OPENGL:Failed to retrieve program link log"); + else { + glGetProgramInfoLog(sdl.opengl.program_object, infoLen, NULL, infoLog); + LOG_MSG("SDL:OPENGL:Error linking program:\n %s", infoLog); + free(infoLog); + } } glDeleteProgram(sdl.opengl.program_object);