mirror of
https://gitlab.freedesktop.org/xorg/lib/libx11.git
synced 2026-05-07 20:18:03 +02:00
Revert "poll_for_response: Really handle xcb_poll_for_reply getting a reply."
This reverts commit c115095d7f. We *do*
need to check poll_for_event every time through the loop in
poll_for_response, so the commit did too much.
This commit is contained in:
parent
4a8b6528ff
commit
301ec5b41e
1 changed files with 5 additions and 11 deletions
16
src/xcb_io.c
16
src/xcb_io.c
|
|
@ -232,25 +232,19 @@ static xcb_generic_reply_t *poll_for_response(Display *dpy)
|
|||
void *response;
|
||||
xcb_generic_error_t *error;
|
||||
PendingRequest *req;
|
||||
|
||||
response = poll_for_event(dpy);
|
||||
if (response)
|
||||
return response;
|
||||
|
||||
while((req = dpy->xcb->pending_requests) &&
|
||||
while(!(response = poll_for_event(dpy)) &&
|
||||
(req = dpy->xcb->pending_requests) &&
|
||||
!req->reply_waiter &&
|
||||
xcb_poll_for_reply(dpy->xcb->connection, req->sequence, &response, &error))
|
||||
{
|
||||
assert(XLIB_SEQUENCE_COMPARE(req->sequence, <=, dpy->request));
|
||||
dpy->last_request_read = req->sequence;
|
||||
if(response)
|
||||
return response;
|
||||
dequeue_pending_request(dpy, req);
|
||||
if(!response)
|
||||
dequeue_pending_request(dpy, req);
|
||||
if(error)
|
||||
return (xcb_generic_reply_t *) error;
|
||||
}
|
||||
|
||||
return NULL;
|
||||
return response;
|
||||
}
|
||||
|
||||
static void handle_response(Display *dpy, xcb_generic_reply_t *response, Bool in_XReply)
|
||||
|
|
|
|||
Loading…
Add table
Reference in a new issue