Blob Blame History Raw
diff -uNr ogre-1.9.0/RenderSystems/GL/include/GL/glew.h ogre-1.9.0.glew/RenderSystems/GL/include/GL/glew.h
--- ogre-1.9.0/RenderSystems/GL/include/GL/glew.h	2014-06-07 21:12:14.000000000 +0400
+++ ogre-1.9.0.glew/RenderSystems/GL/include/GL/glew.h	2014-06-07 21:45:03.422493324 +0400
@@ -109,6 +109,11 @@
 #define __GLEXT_H_
 #define __gl_ATI_h_
 
+// SJS
+// Build statically
+#define GLEW_STATIC
+// SJS
+
 #if defined(_WIN32)
 
 /*
diff -uNr ogre-1.9.0/RenderSystems/GL/src/glew.cpp ogre-1.9.0.glew/RenderSystems/GL/src/glew.cpp
--- ogre-1.9.0/RenderSystems/GL/src/glew.cpp	2014-06-07 21:12:16.000000000 +0400
+++ ogre-1.9.0.glew/RenderSystems/GL/src/glew.cpp	2014-06-07 21:48:09.519775784 +0400
@@ -29,6 +29,10 @@
 ** THE POSSIBILITY OF SUCH DAMAGE.
 */
 
+// SJS
+#include "OgreGLSupport.h"
+// SJS
+
 #include <GL/glew.h>
 
 #if defined(_WIN32)
@@ -57,13 +61,21 @@
 #  endif /* _WIN32 */
 #  define GLEW_CONTEXT_ARG_DEF_LIST GLEWContext* ctx
 #else /* GLEW_MX */
-#  define GLEW_CONTEXT_ARG_DEF_INIT void
-#  define GLEW_CONTEXT_ARG_VAR_INIT
-#  define GLEW_CONTEXT_ARG_DEF_LIST void
-#  define WGLEW_CONTEXT_ARG_DEF_INIT void
-#  define WGLEW_CONTEXT_ARG_DEF_LIST void
-#  define GLXEW_CONTEXT_ARG_DEF_INIT void
-#  define GLXEW_CONTEXT_ARG_DEF_LIST void
+// SJS
+#  define GLEW_CONTEXT_ARG_DEF_INIT Ogre::GLSupport *glSupport
+#  define GLEW_CONTEXT_ARG_VAR_INIT glSupport
+#  define GLEW_CONTEXT_ARG_DEF_LIST Ogre::GLSupport *glSupport
+#  define WGLEW_CONTEXT_ARG_DEF_INIT Ogre::GLSupport *glSupport
+#  define WGLEW_CONTEXT_ARG_DEF_LIST Ogre::GLSupport *glSupport
+#  define GLXEW_CONTEXT_ARG_DEF_INIT Ogre::GLSupport *glSupport
+#  define GLXEW_CONTEXT_ARG_DEF_LIST Ogre::GLSupport *glSupport
+//#  define GLEW_CONTEXT_ARG_DEF_INIT void
+//#  define GLEW_CONTEXT_ARG_VAR_INIT
+//#  define GLEW_CONTEXT_ARG_DEF_LIST void
+//#  define WGLEW_CONTEXT_ARG_DEF_INIT void
+//#  define WGLEW_CONTEXT_ARG_DEF_LIST void
+//#  define GLXEW_CONTEXT_ARG_DEF_INIT void
+//#  define GLXEW_CONTEXT_ARG_DEF_LIST void
 #endif /* GLEW_MX */
 
 #if defined(__sgi) || defined (__sun) || defined(GLEW_APPLE_GLX)
@@ -137,7 +149,7 @@
 #endif
   }
   /* prepend a '_' for the Unix C symbol mangling convention */
-  symbolName = malloc(strlen((const char*)name) + 2);
+  symbolName = (char*)malloc(strlen((const char*)name) + 2);
   strcpy(symbolName+1, (const char*)name);
   symbolName[0] = '_';
   symbol = NULL;
@@ -9481,9 +9493,11 @@
 
 /* ------------------------------------------------------------------------- */
 
-#ifndef GLEW_MX
-static
-#endif
+// SJS
+//#ifndef GLEW_MX
+//static
+//#endif
+// SJS
 GLenum GLEWAPIENTRY glewContextInit (GLEW_CONTEXT_ARG_DEF_LIST)
 {
   const GLubyte* s;
@@ -12543,7 +12557,14 @@
 {
   GLboolean r = GL_FALSE;
 
-  r = ((glXGetCurrentDisplay = (PFNGLXGETCURRENTDISPLAYPROC)glewGetProcAddress((const GLubyte*)"glXGetCurrentDisplay")) == NULL) || r;
+    // SJS
+       // FB: Patched to allow Ogre to overload glXGetCurrentDisplay
+       if (glXGetCurrentDisplay == NULL)
+       {
+               r = ((glXGetCurrentDisplay = (PFNGLXGETCURRENTDISPLAYPROC)glewGetProcAddress((const GLubyte*)"glXGetCurrentDisplay")) == NULL) || r;
+       }
+       //r = ((glXGetCurrentDisplay = (PFNGLXGETCURRENTDISPLAYPROC)glewGetProcAddress((const GLubyte*)"glXGetCurrentDisplay")) == NULL) || r;
+    // SJS
 
   return r;
 }
@@ -13476,19 +13497,21 @@
 extern GLenum GLEWAPIENTRY glxewContextInit (void);
 #endif /* _WIN32 */
 
-GLenum GLEWAPIENTRY glewInit (void)
-{
-  GLenum r;
-  r = glewContextInit();
-  if ( r != 0 ) return r;
-#if defined(_WIN32)
-  return wglewContextInit();
-#elif !defined(__ANDROID__) && !defined(__native_client__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX)) /* _UNIX */
-  return glxewContextInit();
-#else
-  return r;
-#endif /* _WIN32 */
-}
+// SJS
+//GLenum GLEWAPIENTRY glewInit (void)
+//{
+//  GLenum r;
+//  r = glewContextInit();
+//  if ( r != 0 ) return r;
+//#if defined(_WIN32)
+//  return wglewContextInit();
+//#elif !defined(__ANDROID__) && !defined(__native_client__) && (!defined(__APPLE__) || defined(GLEW_APPLE_GLX)) /* _UNIX */
+//  return glxewContextInit();
+//#else
+//  return r;
+//#endif /* _WIN32 */
+//}
+// End SJS
 
 #endif /* !GLEW_MX */
 #ifdef GLEW_MX