diff options
author | Ian Romanick <idr@us.ibm.com> | 2004-12-27 08:29:54 +0000 |
---|---|---|
committer | Ian Romanick <idr@us.ibm.com> | 2004-12-27 08:29:54 +0000 |
commit | 83fcf49647f423741a0a2143e03dbaa2d43d31a1 (patch) | |
tree | e28f9dd9c8ddad4ada76edea578f280672370ec9 /src/glx | |
parent | 3cbc2bd833b426057c4174ad44ae21ecb04f96e5 (diff) | |
download | external_mesa3d-83fcf49647f423741a0a2143e03dbaa2d43d31a1.zip external_mesa3d-83fcf49647f423741a0a2143e03dbaa2d43d31a1.tar.gz external_mesa3d-83fcf49647f423741a0a2143e03dbaa2d43d31a1.tar.bz2 |
Fixed two problems with the handling of GLX protocol replies. The logic
for determining when extra data needed to be read after a reply (to ensure
4-byte alignment) and the logic to determine whether or not to read reply
data after the SingleReply packet were both slightly wrong.
Diffstat (limited to 'src/glx')
-rw-r--r-- | src/glx/x11/indirect.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/glx/x11/indirect.c b/src/glx/x11/indirect.c index c476fba..965a4a2 100644 --- a/src/glx/x11/indirect.c +++ b/src/glx/x11/indirect.c @@ -64,13 +64,13 @@ read_reply( Display *dpy, size_t size, void * dest, GLboolean reply_is_always_ar (void) _XReply(dpy, (xReply *) & reply, 0, False); if (size != 0) { - if ((reply.size >= 1) || reply_is_always_array) { + if ((reply.length > 0) || reply_is_always_array) { const GLint bytes = (reply_is_always_array) ? (4 * reply.length) : (reply.size * size); const GLint extra = 4 - (bytes & 3); _XRead(dpy, dest, bytes); - if ( extra != 0 ) { + if ( extra < 4 ) { _XEatData(dpy, extra); } } |