[Bf-blender-cvs] [ed3b19f] master: Ugly hack to avoid GLEW context error printing when initializing GLX.

Antony Riakiotakis noreply at git.blender.org
Mon Jul 20 14:58:49 CEST 2015


Commit: ed3b19f46d5f85910b46f7e3e2f21b55eefc9ada
Author: Antony Riakiotakis
Date:   Mon Jul 20 14:56:36 2015 +0200
Branches: master
https://developer.blender.org/rBed3b19f46d5f85910b46f7e3e2f21b55eefc9ada

Ugly hack to avoid GLEW context error printing when initializing GLX.

===================================================================

M	intern/ghost/intern/GHOST_ContextGLX.cpp
M	intern/glew-mx/glew-mx.h
M	intern/glew-mx/intern/glew-mx.c

===================================================================

diff --git a/intern/ghost/intern/GHOST_ContextGLX.cpp b/intern/ghost/intern/GHOST_ContextGLX.cpp
index 0b4d41b..3cce223 100644
--- a/intern/ghost/intern/GHOST_ContextGLX.cpp
+++ b/intern/ghost/intern/GHOST_ContextGLX.cpp
@@ -155,7 +155,9 @@ GHOST_TSuccess GHOST_ContextGLX::initializeDrawingContext()
 #endif
 
 	/* needed so 'GLXEW_ARB_create_context' is valid */
+	mxIgnoreNoVersion(1);
 	initContextGLXEW();
+	mxIgnoreNoVersion(0);
 
 	if (GLXEW_ARB_create_context) {
 		int profileBitCore   = m_contextProfileMask & GLX_CONTEXT_CORE_PROFILE_BIT_ARB;
diff --git a/intern/glew-mx/glew-mx.h b/intern/glew-mx/glew-mx.h
index cf90870..92450d6 100644
--- a/intern/glew-mx/glew-mx.h
+++ b/intern/glew-mx/glew-mx.h
@@ -95,6 +95,7 @@ MXContext *mxGetCurrentContext (void);
 void       mxMakeCurrentContext(MXContext *ctx);
 void       mxDestroyContext    (MXContext *ctx);
 
+void       mxIgnoreNoVersion(int ignore);
 
 GLenum glew_chk(GLenum error, const char *file, int line, const char *text);
 
diff --git a/intern/glew-mx/intern/glew-mx.c b/intern/glew-mx/intern/glew-mx.c
index 8b0ab42..7892067 100644
--- a/intern/glew-mx/intern/glew-mx.c
+++ b/intern/glew-mx/intern/glew-mx.c
@@ -34,6 +34,7 @@
 #include <stdio.h>
 #include <stdlib.h>
 
+static int ignore_version = 0;
 
 #define CASE_CODE_RETURN_STR(code) case code: return #code;
 
@@ -62,6 +63,9 @@ GLenum glew_chk(GLenum error, const char *file, int line, const char *text)
 		const char *code = get_glew_error_enum_string(error);
 		const char *msg  = (const char *)glewGetErrorString(error);
 
+		if (error == GLEW_ERROR_NO_GL_VERSION && ignore_version)
+			return GLEW_OK;
+
 #ifndef NDEBUG
 		fprintf(stderr,
 		        "%s(%d):[%s] -> GLEW Error (0x%04X): %s: %s\n",
@@ -140,3 +144,8 @@ void mxDestroyContext(MXContext *ctx)
 	(void)ctx;
 #endif
 }
+
+void mxIgnoreNoVersion(int ignore)
+{
+	ignore_version = ignore;
+}




More information about the Bf-blender-cvs mailing list