diff -Nur GLUT-2.1.1.2/Graphics/UI/GLUT/Extensions.hs GLUT-2.1.1.2-win2/Graphics/UI/GLUT/Extensions.hs --- GLUT-2.1.1.2/Graphics/UI/GLUT/Extensions.hs Thu Jun 19 07:39:19 2008 +++ GLUT-2.1.1.2-win2/Graphics/UI/GLUT/Extensions.hs Mon Nov 10 17:13:28 2008 @@ -42,5 +42,5 @@ getProcAddressInternal :: String -> IO (FunPtr a) getProcAddressInternal call = withCString call hs_GLUT_getProcAddress -foreign import ccall unsafe "hs_GLUT_getProcAddress" hs_GLUT_getProcAddress +foreign import stdcall unsafe "glutGetProcAddress" hs_GLUT_getProcAddress :: CString -> IO (FunPtr a) diff -Nur GLUT-2.1.1.2/cbits/HsGLUT.c GLUT-2.1.1.2-win2/cbits/HsGLUT.c --- GLUT-2.1.1.2/cbits/HsGLUT.c Thu Jun 19 07:39:19 2008 +++ GLUT-2.1.1.2-win2/cbits/HsGLUT.c Mon Nov 10 17:13:06 2008 @@ -43,22 +43,3 @@ } return (void*)0; } - -/* procName is really a const char*, but currently we can't specify this in - Haskell's FFI and consequently get a warning from the C compiler. */ -void* -hs_GLUT_getProcAddress(char *procName) -{ -#if (FREEGLUT || GLUT_API_VERSION >= 5) -#if GLUT_GET_PROC_ADDRESS_IS_BROKEN - /* There are a few typos/omissions in freeglut 2.20 */ - if (strcmp(procName, "glutWireCylinder" ) == 0) return (void*)glutWireCylinder; - if (strcmp(procName, "glutSolidCylinder" ) == 0) return (void*)glutSolidCylinder; - if (strcmp(procName, "glutWireSierpinskiSponge" ) == 0) return (void*)glutWireSierpinskiSponge; - if (strcmp(procName, "glutSolidSierpinskiSponge") == 0) return (void*)glutSolidSierpinskiSponge; -#endif - return glutGetProcAddress(procName); -#else - return (void*)0; -#endif -}