From 9824ef93734c8bcc644712540b810715f8820b9f Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Tue, 5 Aug 2014 20:07:43 -0400 Subject: [PATCH] GLShader: fix return value of create_shader() --- src/GLShader.cc | 48 +++++++++++++++++++++++------------------------- 1 file changed, 23 insertions(+), 25 deletions(-) diff --git a/src/GLShader.cc b/src/GLShader.cc index 26e42d8..0ab6bcc 100644 --- a/src/GLShader.cc +++ b/src/GLShader.cc @@ -33,32 +33,30 @@ static GLuint create_shader(GLenum shader_type, const char *source, size_t size) glCompileShader(id); glGetShaderiv(id, GL_COMPILE_STATUS, &status); - if (status == GL_TRUE) + if (status != GL_TRUE) { - return true; - } - - GLint log_length; - glGetShaderiv(id, GL_INFO_LOG_LENGTH, &log_length); - if (log_length > 0) - { - char log[log_length + 1]; - glGetShaderInfoLog(id, log_length, &log_length, log); - log[log_length] = '\0'; - glDeleteShader(id); - rb_raise(rb_eRuntimeError, - "Error compiling %s shader:\n%s\n%s\n%s\n", - get_shader_type_name(shader_type), - "--------------------", - log, - "--------------------"); - } - else - { - glDeleteShader(id); - rb_raise(rb_eRuntimeError, - "Error compiling %s shader", - get_shader_type_name(shader_type)); + GLint log_length; + glGetShaderiv(id, GL_INFO_LOG_LENGTH, &log_length); + if (log_length > 0) + { + char log[log_length + 1]; + glGetShaderInfoLog(id, log_length, &log_length, log); + log[log_length] = '\0'; + glDeleteShader(id); + rb_raise(rb_eRuntimeError, + "Error compiling %s shader:\n%s\n%s\n%s\n", + get_shader_type_name(shader_type), + "--------------------", + log, + "--------------------"); + } + else + { + glDeleteShader(id); + rb_raise(rb_eRuntimeError, + "Error compiling %s shader", + get_shader_type_name(shader_type)); + } } }