diff options
author | Julien Cristau <jcristau@debian.org> | 2011-01-26 04:03:16 -0800 |
---|---|---|
committer | Brian Paul <brianp@vmware.com> | 2011-01-31 09:28:37 -0700 |
commit | e27913f805acbb7d00f83ba625a8605576738a13 (patch) | |
tree | 8295470fd3d1ea03085c78328e8d27ab7b743133 /src/glx/glx_pbuffer.c | |
parent | ea5ede2178b75cc52df73d873946657fce9d4705 (diff) | |
download | external_mesa3d-e27913f805acbb7d00f83ba625a8605576738a13.zip external_mesa3d-e27913f805acbb7d00f83ba625a8605576738a13.tar.gz external_mesa3d-e27913f805acbb7d00f83ba625a8605576738a13.tar.bz2 |
glx: fix GLXChangeDrawableAttributesSGIX request
xGLXChangeDrawableAttributesSGIXReq follows the GLXVendorPrivate header
with a drawable, number of attributes, and list of (type, value)
attribute pairs. Don't forget to put the number of attributes in there.
I don't think this can ever have worked.
NOTE: This is a candidate for the 7.9 and 7.10 branches
Signed-off-by: Julien Cristau <jcristau@debian.org>
Signed-off-by: Brian Paul <brianp@vmware.com>
Diffstat (limited to 'src/glx/glx_pbuffer.c')
-rw-r--r-- | src/glx/glx_pbuffer.c | 5 |
1 files changed, 3 insertions, 2 deletions
diff --git a/src/glx/glx_pbuffer.c b/src/glx/glx_pbuffer.c index 1de3e74..5f91bc6 100644 --- a/src/glx/glx_pbuffer.c +++ b/src/glx/glx_pbuffer.c @@ -117,7 +117,7 @@ ChangeDrawableAttribute(Display * dpy, GLXDrawable drawable, else { xGLXVendorPrivateWithReplyReq *vpreq; - GetReqExtra(GLXVendorPrivateWithReply, 4 + (8 * num_attribs), vpreq); + GetReqExtra(GLXVendorPrivateWithReply, 8 + (8 * num_attribs), vpreq); output = (CARD32 *) (vpreq + 1); vpreq->reqType = opcode; @@ -125,7 +125,8 @@ ChangeDrawableAttribute(Display * dpy, GLXDrawable drawable, vpreq->vendorCode = X_GLXvop_ChangeDrawableAttributesSGIX; output[0] = (CARD32) drawable; - output++; + output[1] = num_attribs; + output += 2; } (void) memcpy(output, attribs, sizeof(CARD32) * 2 * num_attribs); |