From: Ian Romanick Date: Fri, 4 Mar 2005 17:53:24 +0000 (+0000) Subject: Import fixes from X.org tree (Søren Sandmann ). X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=b47731f24db2e4c99073b107050376addf636c98;p=mesa.git Import fixes from X.org tree (Søren Sandmann ). --- diff --git a/src/glx/x11/glx_pbuffer.c b/src/glx/x11/glx_pbuffer.c index a7d9f122cb0..b515f0c8395 100644 --- a/src/glx/x11/glx_pbuffer.c +++ b/src/glx/x11/glx_pbuffer.c @@ -278,14 +278,16 @@ CreateDrawable( Display *dpy, const __GLcontextModes * fbconfig, { xGLXCreateWindowReq * req; CARD32 * data; - unsigned int i; - + unsigned int i; - for ( i = 0 ; attrib_list[i * 2] != None ; i++ ) - /* empty */ ; + i = 0; + if (attrib_list) { + while (attrib_list[i * 2] != None) + i++; + } LockDisplay(dpy); - GetReqExtra( GLXCreateWindow, 20 + (8 * i), req ); + GetReqExtra( GLXCreateWindow, 8 * i, req ); data = (CARD32 *) (req + 1); req->reqType = __glXSetupForCommand(dpy); @@ -293,12 +295,15 @@ CreateDrawable( Display *dpy, const __GLcontextModes * fbconfig, req->screen = (CARD32) fbconfig->screen; req->fbconfig = fbconfig->fbconfigID; req->window = (GLXPbuffer) drawable; + req->glxwindow = (GLXWindow) XAllocID(dpy); req->numAttribs = (CARD32) i; + memcpy( data, attrib_list, 8 * i ); + UnlockDisplay(dpy); SyncHandle(); - return drawable; + return (GLXDrawable)req->glxwindow; } @@ -355,10 +360,11 @@ CreatePbuffer( Display *dpy, const __GLcontextModes * fbconfig, CARD32 * data; unsigned int i; - - for ( i = 0 ; attrib_list[i * 2] != None ; i++ ) - /* empty */ ; - + i = 0; + if (attrib_list) { + while (attrib_list[i * 2]) + i++; + } LockDisplay(dpy); id = XAllocID(dpy);