# HG changeset patch # User reimar # Date 1131918806 0 # Node ID 94b70ab52695af80d386a43a195ed6245972fcc4 # Parent 4f4b0a76317868b6f2e8f4b6fcd5dd655390a280 disable *SwapInterval function when extensions are missing, since it can cause crashes. diff -r 4f4b0a763178 -r 94b70ab52695 libvo/gl_common.c --- a/libvo/gl_common.c Sun Nov 13 20:25:06 2005 +0000 +++ b/libvo/gl_common.c Sun Nov 13 21:53:26 2005 +0000 @@ -251,6 +251,7 @@ * \param getProcAddress function to resolve function names, may be NULL */ static void getFunctions(void *(*getProcAddress)(const GLubyte *)) { + const char *extensions = glGetString(GL_EXTENSIONS); if (!getProcAddress) getProcAddress = setNull; GenBuffers = getProcAddress("glGenBuffers"); @@ -323,6 +324,9 @@ ProgramEnvParameter4f = getProcAddress("glProgramEnvParameter4fARB"); if (!ProgramEnvParameter4f) ProgramEnvParameter4f = getProcAddress("glProgramEnvParameter4fNV"); + if (!extensions || !strstr(extensions, "_swap_control")) + SwapInterval = NULL; + else { SwapInterval = getProcAddress("glXSwapInterval"); if (!SwapInterval) SwapInterval = getProcAddress("glXSwapIntervalEXT"); @@ -334,6 +338,7 @@ SwapInterval = getProcAddress("wglSwapIntervalEXT"); if (!SwapInterval) SwapInterval = getProcAddress("wglSwapIntervalSGI"); + } } /**