diff options
Diffstat (limited to 'src/xcb_in.c')
-rw-r--r-- | src/xcb_in.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/src/xcb_in.c b/src/xcb_in.c index a805fa8..9e629ba 100644 --- a/src/xcb_in.c +++ b/src/xcb_in.c @@ -91,9 +91,9 @@ static int read_packet(XCBConnection *c) c->in.request_read = (lastread & 0xffff0000) | genrep.sequence; if(c->in.request_read != lastread) { - pending_reply *oldpend = c->in.pending_replies; - if(oldpend && oldpend->request == lastread) + while(c->in.pending_replies && c->in.pending_replies->request < c->in.request_read) { + pending_reply *oldpend = c->in.pending_replies; c->in.pending_replies = oldpend->next; if(!oldpend->next) c->in.pending_replies_tail = &c->in.pending_replies; |