diff --git a/Outputs/OpenGL/Primitives/Shader.cpp b/Outputs/OpenGL/Primitives/Shader.cpp index 3c07fc236..3d2397160 100644 --- a/Outputs/OpenGL/Primitives/Shader.cpp +++ b/Outputs/OpenGL/Primitives/Shader.cpp @@ -9,6 +9,7 @@ #include "Shader.hpp" #include "../../Log.hpp" +#include using namespace Outputs::Display::OpenGL; @@ -31,10 +32,10 @@ GLuint Shader::compile_shader(const std::string &source, GLenum type) { GLint logLength; test_gl(glGetShaderiv, shader, GL_INFO_LOG_LENGTH, &logLength); if(logLength > 0) { - GLchar *log = new GLchar[std::size_t(logLength)]; - test_gl(glGetShaderInfoLog, shader, logLength, &logLength, log); - LOG("Compile log:\n" << log); - delete[] log; + const auto length = std::vector::size_type(logLength); + std::vector log(length); + test_gl(glGetShaderInfoLog, shader, logLength, &logLength, log.data()); + LOG("Compile log:\n" << log.data()); } throw (type == GL_VERTEX_SHADER) ? VertexShaderCompilationError : FragmentShaderCompilationError;