diff --git a/renderdoc/driver/gl/wrappers/gl_shader_funcs.cpp b/renderdoc/driver/gl/wrappers/gl_shader_funcs.cpp index ba13e79ce..342145cf6 100644 --- a/renderdoc/driver/gl/wrappers/gl_shader_funcs.cpp +++ b/renderdoc/driver/gl/wrappers/gl_shader_funcs.cpp @@ -443,7 +443,9 @@ void WrappedOpenGL::glShaderSource(GLuint shader, GLsizei count, const GLchar *c m_Shaders[id].sources.reserve(count); for(GLsizei i = 0; i < count; i++) - m_Shaders[id].sources.push_back(string[i]); + m_Shaders[id].sources.push_back((length && length[i] > 0) + ? std::string(string[i], string[i] + length[i]) + : std::string(string[i])); } }