[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