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