[Xquartz-changes] [220] AppleSGLX/trunk/glx_pbuffer.c
source_changes at macosforge.org
source_changes at macosforge.org
Sat Feb 21 17:12:50 PST 2009
Revision: 220
http://trac.macosforge.org/projects/xquartz/changeset/220
Author: gstaplin at apple.com
Date: 2009-02-21 17:12:49 -0800 (Sat, 21 Feb 2009)
Log Message:
-----------
Add some support code for glXCreateWindow and glXDestroyWindow. They should work now.
Modified Paths:
--------------
AppleSGLX/trunk/glx_pbuffer.c
Modified: AppleSGLX/trunk/glx_pbuffer.c
===================================================================
--- AppleSGLX/trunk/glx_pbuffer.c 2009-02-22 01:12:06 UTC (rev 219)
+++ AppleSGLX/trunk/glx_pbuffer.c 2009-02-22 01:12:49 UTC (rev 220)
@@ -253,8 +253,56 @@
glXCreateWindow( Display *dpy, GLXFBConfig config, Window win,
const int *attrib_list )
{
- fprintf(stderr, "%s FIXME", __func__);
- abort();
+ XWindowAttributes xwattr;
+ XVisualInfo *visinfo;
+
+ (void)attrib_list; /*unused according to GLX 1.4*/
+
+ XGetWindowAttributes(dpy, win, &xwattr);
+
+ visinfo = glXGetVisualFromFBConfig(dpy, config);
+
+ if(NULL == visinfo) {
+ xError error;
+
+ LockDisplay(dpy);
+
+ error.errorCode = GLXBadFBConfig;
+ error.resourceID = 0;
+ error.sequenceNumber = dpy->request;
+ error.type = X_Error;
+ error.majorCode = 0;
+ error.minorCode = X_GLXCreateWindow;
+ _XError(dpy, &error);
+
+ UnlockDisplay(dpy);
+
+ return None;
+ }
+
+ if(visinfo->visualid != XVisualIDFromVisual(xwattr.visual)) {
+ xError error;
+
+ XFree(visinfo);
+
+ LockDisplay(dpy);
+
+ error.errorCode = BadMatch;
+ error.resourceID = 0;
+ error.sequenceNumber = dpy->request;
+ error.type = X_Error;
+ error.majorCode = 0;
+ error.minorCode = X_GLXCreateWindow;
+ _XError(dpy, &error);
+
+ UnlockDisplay(dpy);
+
+ return None;
+ }
+
+ XFree(visinfo);
+
+ return win;
}
@@ -268,7 +316,5 @@
PUBLIC void
glXDestroyWindow(Display *dpy, GLXWindow win)
{
- fprintf(stderr, "%s FIXME\n", __func__);
- abort();
+ /* no-op */
}
-
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.macosforge.org/pipermail/xquartz-changes/attachments/20090221/188d3a62/attachment.html>
More information about the Xquartz-changes
mailing list