summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJamey Sharp <jamey@minilop.net>2006-07-30 14:55:14 -0700
committerJamey Sharp <jamey@minilop.net>2006-07-30 17:03:27 -0700
commitf74487e34fd61d11a501c07030f8fd7ed8caeb1c (patch)
tree616ade8bc7869351d4168029a992b291795dcd64
parent13896d8f658b917e891aa18e0ac4906d630881bb (diff)
Fix Keith's 32-bit wrap fix.
Issue 0, 1, or 2 syncs as needed and do not handle 16-bit wrap until absolutely necessary.
-rw-r--r--src/xcb_out.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/src/xcb_out.c b/src/xcb_out.c
index 9a67ad2..56e02f7 100644
--- a/src/xcb_out.c
+++ b/src/xcb_out.c
@@ -163,8 +163,8 @@ unsigned int XCBSendRequest(XCBConnection *c, int flags, struct iovec *vector, c
* Also send sync (could use NoOp) at 32-bit wrap to avoid having
* applications see sequence 0 as that is used to indicate
* an error in sending the request */
- if((req->isvoid &&
- c->out.request == c->in.request_expected + (1 << 16) - 2) ||
+ while((req->isvoid &&
+ c->out.request == c->in.request_expected + (1 << 16) - 1) ||
request == 0)
{
prefix[0] = sync.packet;