From c765582c3ec7be0ba094eaa2207d3e077e580bcf Mon Sep 17 00:00:00 2001 From: Peter Veenstra Date: Wed, 12 Feb 2020 16:18:05 +0000 Subject: [PATCH] Some fixes to 4319 by jmarsh. Imported-from: https://svn.code.sf.net/p/dosbox/code-0/dosbox/trunk@4321 --- src/gui/render.cpp | 1 + src/gui/sdlmain.cpp | 18 ++++++++++++------ 2 files changed, 13 insertions(+), 6 deletions(-) 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);