[Xcb-commit] src

Jamey Sharp jamey at kemper.freedesktop.org
Fri Oct 6 16:36:11 PDT 2006


 src/xcb.h    |    8 +++-----
 src/xcb_in.c |   23 ++++-------------------
 2 files changed, 7 insertions(+), 24 deletions(-)

New commits:
diff-tree 34168ab549fdf7c6c8a6fbe39824116698d01b12 (from 40589db8124b8c72894deb86a825c6117b0a2cd2)
Author: Jamey Sharp <jamey at minilop.net>
Date:   Fri Oct 6 16:12:04 2006 -0700

    Remove the 'int *error' out-parameter for xcb_poll_for_event.

diff --git a/src/xcb.h b/src/xcb.h
index 15c5768..4b5b349 100644
--- a/src/xcb.h
+++ b/src/xcb.h
@@ -224,12 +224,10 @@ xcb_generic_event_t *xcb_wait_for_event(
  * Returns the next event or error from the server, if one is
  * available, or returns @c NULL otherwise. If no event is available, that
  * might be because an I/O error like connection close occurred while
- * attempting to read the next event. The @p error parameter is a
- * pointer to an int to be filled in with the I/O error status of the
- * operation. If @p error is @c NULL, terminates the application when an
- * I/O error occurs.
+ * attempting to read the next event, in which case the connection is
+ * shut down when this function returns.
  */
-xcb_generic_event_t *xcb_poll_for_event(xcb_connection_t *c, int *error);
+xcb_generic_event_t *xcb_poll_for_event(xcb_connection_t *c);
 
 /**
  * @brief Return the error for a request, or NULL if none can ever arrive.
diff --git a/src/xcb_in.c b/src/xcb_in.c
index 41764df..b252ffc 100644
--- a/src/xcb_in.c
+++ b/src/xcb_in.c
@@ -395,33 +395,18 @@ xcb_generic_event_t *xcb_wait_for_event(
     return ret;
 }
 
-xcb_generic_event_t *xcb_poll_for_event(xcb_connection_t *c, int *error)
+xcb_generic_event_t *xcb_poll_for_event(xcb_connection_t *c)
 {
+    xcb_generic_event_t *ret = 0;
     if(!c->has_error)
     {
-        xcb_generic_event_t *ret = 0;
-        int success;
         _xcb_lock_io(c);
         /* FIXME: follow X meets Z architecture changes. */
-        success = _xcb_in_read(c);
-        if(success)
+        if(_xcb_in_read(c)) /* _xcb_in_read shuts down the connection on error */
             ret = get_event(c);
         _xcb_unlock_io(c);
-        if(success)
-        {
-            if(error)
-                *error = 0;
-            return ret;
-        }
     }
-    if(error)
-        *error = -1;
-    else
-    {
-        fprintf(stderr, "xcb_poll_for_event: I/O error occured, but no handler provided.\n");
-        abort();
-    }
-    return 0;
+    return ret;
 }
 
 xcb_generic_error_t *xcb_request_check(xcb_connection_t *c, xcb_void_cookie_t cookie)


More information about the xcb-commit mailing list