Bugfix: make Plan 7 'checked' requests work correctly.
The initial implementation of Plan 7 dumped all X errors into the event queue, because the record of a pending reply was pruned too early if an error occurred in place of the expected reply.
This commit is contained in:
parent
7b84d8b650
commit
e0fac22caa
|
@ -108,8 +108,6 @@ static int read_packet(xcb_connection_t *c)
|
|||
}
|
||||
c->in.request_completed = c->in.request_read - 1;
|
||||
}
|
||||
if(genrep.response_type == XCB_ERROR)
|
||||
c->in.request_completed = c->in.request_read;
|
||||
|
||||
while(c->in.pending_replies &&
|
||||
XCB_SEQUENCE_COMPARE (c->in.pending_replies->request, <=, c->in.request_completed))
|
||||
|
@ -120,6 +118,9 @@ static int read_packet(xcb_connection_t *c)
|
|||
c->in.pending_replies_tail = &c->in.pending_replies;
|
||||
free(oldpend);
|
||||
}
|
||||
|
||||
if(genrep.response_type == XCB_ERROR)
|
||||
c->in.request_completed = c->in.request_read;
|
||||
}
|
||||
|
||||
if(genrep.response_type == XCB_ERROR || genrep.response_type == XCB_REPLY)
|
||||
|
|
Loading…
Reference in New Issue