[Xcb-commit] src

Jamey Sharp jamey at kemper.freedesktop.org
Sat Oct 7 18:36:14 PDT 2006


 src/xcb_in.c |    5 +++--
 1 files changed, 3 insertions(+), 2 deletions(-)

New commits:
diff-tree e0fac22caaf27b3e461807f8c563d0457938baa6 (from 7b84d8b650a611d4d76083340e50cb7ea815014d)
Author: Jamey Sharp <jamey at minilop.net>
Date:   Sat Oct 7 18:35:53 2006 -0700

    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.

diff --git a/src/xcb_in.c b/src/xcb_in.c
index b252ffc..1cb6b69 100644
--- a/src/xcb_in.c
+++ b/src/xcb_in.c
@@ -108,8 +108,6 @@ static int read_packet(xcb_connection_t 
             }
             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->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)


More information about the xcb-commit mailing list