[Xquartz-changes] [292] AppleSGLX/trunk/apple_cgl.c

source_changes at macosforge.org source_changes at macosforge.org
Sat Mar 7 06:15:45 PST 2009


Revision: 292
          http://trac.macosforge.org/projects/xquartz/changeset/292
Author:   jeremyhu at 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;
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/xquartz-changes/attachments/20090307/17428443/attachment-0001.html>


More information about the Xquartz-changes mailing list