Fix for glxGetProcAddressARB on Solaris

Warren_Baird at cimmetry.com Warren_Baird at cimmetry.com
Wed Feb 5 17:24:23 CST 2003



ChangeLog:

     Put calls to glxGetProcAddressARB inside ifdef HAVE_GLX_GETPROCADDRESS.
     Added 'extern "C"' to wgl.h.

Description:

     The Solaris version of OpenGL doesn't provide the glXGetProcAddressARB
     function.  There was already a check for this function in autoconf,
     but the appropriate ifdef wasn't being used to protect the call to
     the function.

Warren Baird : Warren_Baird at cimmetry.com

diff -ur clean/wine/dlls/opengl32/wgl.c wine/dlls/opengl32/wgl.c
--- clean/wine/dlls/opengl32/wgl.c 24 Jan 2003 15:12:17 -0000     1.1.1.3
+++ wine/dlls/opengl32/wgl.c  27 Jan 2003 21:25:43 -0000     1.3
@@ -312,6 +312,10 @@
   ext_ret = (OpenGL_extension *) bsearch(&ext, extension_registry,
                          extension_registry_size, sizeof(OpenGL_extension),
compar);

+  // Sun OGL doesn't define glXGetProcAddressARB
+
+#ifdef HAVE_GLX_GETPROCADDRESS
+
   if (ext_ret == NULL) {
     /* Some sanity checks :-) */
     if (glXGetProcAddressARB(lpszProc) != NULL) {
@@ -353,6 +357,13 @@
       return ext_ret->func;
     }
   }
+
+#else
+  if (ext_ret == NULL) {
+      WARN("Did not find extension %s in either Wine or your OpenGL
library.\n", lpszProc);
+  }
+#endif
+
 }

 /***********************************************************************

diff -ur clean/wine/dlls/opengl32/wgl.h wine/dlls/opengl32/wgl.h
--- clean/wine/dlls/opengl32/wgl.h 1 Aug 2002 13:37:02 -0000      1.1.1.1
+++ wine/dlls/opengl32/wgl.h  23 Jan 2003 21:58:57 -0000     1.2
@@ -22,6 +22,11 @@

 #include "gdi.h"

+#ifdef __cplusplus
+extern "C" {
+#endif
+
+
 typedef void *HGLRC;

 typedef struct {
@@ -112,6 +117,10 @@
                      FLOAT extrusion,
                      int format,
                      LPGLYPHMETRICSFLOAT lpgmf) ;
+
+#ifdef __cplusplus
+}
+#endif

 #endif /* __DLLS_OPENGL32_WGL_H */






More information about the wine-patches mailing list