Accepting request 630703 from home:michalsrb:branches:X11:XOrg

- u_don-t-flag-extra-reply-in-xcb_take_socket.patch
  * Update to version proposed upstream.

OBS-URL: https://build.opensuse.org/request/show/630703
OBS-URL: https://build.opensuse.org/package/show/X11:XOrg/libxcb?expand=0&rev=55
This commit is contained in:
Stefan Dirsch 2018-08-21 09:15:43 +00:00 committed by Git OBS Bridge
parent 781bff0c5e
commit 9e93ef09c5
2 changed files with 12 additions and 11 deletions

View File

@ -1,3 +1,9 @@
-------------------------------------------------------------------
Tue Aug 21 06:58:35 UTC 2018 - msrb@suse.com
- u_don-t-flag-extra-reply-in-xcb_take_socket.patch
* Update to version proposed upstream.
-------------------------------------------------------------------
Mon Aug 13 09:06:27 UTC 2018 - msrb@suse.com

View File

@ -49,7 +49,7 @@ diff --git a/src/xcb_in.c b/src/xcb_in.c
index 73209e0..4333ad3 100644
--- a/src/xcb_in.c
+++ b/src/xcb_in.c
@@ -958,8 +958,25 @@ void _xcb_in_replies_done(xcb_connection_t *c)
@@ -958,8 +958,20 @@ void _xcb_in_replies_done(xcb_connection_t *c)
pend = container_of(c->in.pending_replies_tail, struct pending_reply, next);
if(pend->workaround == WORKAROUND_EXTERNAL_SOCKET_OWNER)
{
@ -62,16 +62,11 @@ index 73209e0..4333ad3 100644
+ /* The socket was taken, but no requests were actually sent
+ * so just discard the pending_reply that was created.
+ */
+ struct pending_reply *prev_pend = c->in.pending_replies;
+ if (prev_pend == pend) {
+ c->in.pending_replies = NULL;
+ c->in.pending_replies_tail = &c->in.pending_replies;
+ } else {
+ while (prev_pend->next != pend)
+ prev_pend = prev_pend->next;
+ prev_pend->next = NULL;
+ c->in.pending_replies_tail = &prev_pend->next;
+ }
+ struct pending_reply **prev_next = &c->in.pending_replies;
+ while (*prev_next != pend)
+ prev_next = &(*prev_next)->next;
+ *prev_next = NULL;
+ c->in.pending_replies_tail = prev_next;
+ free(pend);
+ }
}