Revision: 292 http://trac.macosforge.org/projects/xquartz/changeset/292 Author: jeremyhu@freedesktop.org Date: 2009-03-07 06:15:44 -0800 (Sat, 07 Mar 2009) Log Message: ----------- Default to using Version A of OpenGL.framework to make us more compatible if the major version of OpenGL.framework changes out from under us. Allow a OPENGL_FRAMEWORK_PATH environment variable to choose our framework Modified Paths: -------------- AppleSGLX/trunk/apple_cgl.c Modified: AppleSGLX/trunk/apple_cgl.c =================================================================== --- AppleSGLX/trunk/apple_cgl.c 2009-03-07 09:21:53 UTC (rev 291) +++ AppleSGLX/trunk/apple_cgl.c 2009-03-07 14:15:44 UTC (rev 292) @@ -36,7 +36,7 @@ #include "apple_glx.h" #ifndef OPENGL_FRAMEWORK_PATH -#define OPENGL_FRAMEWORK_PATH "/System/Library/Frameworks/OpenGL.framework/OpenGL" +#define OPENGL_FRAMEWORK_PATH "/System/Library/Frameworks/OpenGL.framework/Versions/A/OpenGL" #endif static void *dl_handle = NULL; @@ -61,17 +61,23 @@ void apple_cgl_init(void) { void *h; GLint major = 0, minor = 0; + const char *opengl_framework_path; if(initialized) return; + + opengl_framework_path = getenv("OPENGL_FRAMEWORK_PATH"); + if(!opengl_framework_path) { + opengl_framework_path = OPENGL_FRAMEWORK_PATH; + } (void)dlerror(); /*drain dlerror*/ - h = dlopen(OPENGL_FRAMEWORK_PATH, RTLD_NOW); + h = dlopen(opengl_framework_path, RTLD_NOW); if(NULL == h) { - fprintf(stderr, "error: unable to dlopen " OPENGL_FRAMEWORK_PATH " : " "%s\n", - dlerror()); - abort(); + fprintf(stderr, "error: unable to dlopen %s : %s\n", opengl_framework_path, + dlerror()); + abort(); } dl_handle = h;