From affa7e24224b9078826b56c92347af83dcb9241e Mon Sep 17 00:00:00 2001 From: Mario Botsch <31275467+mbotsch@users.noreply.github.com> Date: Mon, 27 May 2019 10:47:18 +0200 Subject: [PATCH] Examples: imgui_impl_opengl3: Fix empty printout on shader load. (#2584) Fixed minor bug in CheckShader and CheckProgram The log_length reported by glGetProgramiv(handle, GL_INFO_LOG_LENGTH, &log_length) will at least return 1, since the string delimiter is also counted. The old version would always print and empty string to stderr. This is annoying in the emscripten port, since it prints a red error message to the Javascript console. The new version fixes this behavior. --- examples/imgui_impl_opengl3.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/examples/imgui_impl_opengl3.cpp b/examples/imgui_impl_opengl3.cpp index 364b9ccf..d992f001 100644 --- a/examples/imgui_impl_opengl3.cpp +++ b/examples/imgui_impl_opengl3.cpp @@ -384,7 +384,7 @@ static bool CheckShader(GLuint handle, const char* desc) glGetShaderiv(handle, GL_INFO_LOG_LENGTH, &log_length); if ((GLboolean)status == GL_FALSE) fprintf(stderr, "ERROR: ImGui_ImplOpenGL3_CreateDeviceObjects: failed to compile %s!\n", desc); - if (log_length > 0) + if (log_length > 1) { ImVector buf; buf.resize((int)(log_length + 1)); @@ -402,7 +402,7 @@ static bool CheckProgram(GLuint handle, const char* desc) glGetProgramiv(handle, GL_INFO_LOG_LENGTH, &log_length); if ((GLboolean)status == GL_FALSE) fprintf(stderr, "ERROR: ImGui_ImplOpenGL3_CreateDeviceObjects: failed to link %s! (with GLSL '%s')\n", desc, g_GlslVersionString); - if (log_length > 0) + if (log_length > 1) { ImVector buf; buf.resize((int)(log_length + 1));