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

This commit is contained in:
Jamey Sharp 2006-10-06 16:12:04 -07:00
parent 40589db812
commit 34168ab549
2 changed files with 7 additions and 24 deletions

View File

@ -224,12 +224,10 @@ xcb_generic_event_t *xcb_wait_for_event(xcb_connection_t *c);
* Returns the next event or error from the server, if one is * Returns the next event or error from the server, if one is
* available, or returns @c NULL otherwise. If no event is available, that * available, or returns @c NULL otherwise. If no event is available, that
* might be because an I/O error like connection close occurred while * might be because an I/O error like connection close occurred while
* attempting to read the next event. The @p error parameter is a * attempting to read the next event, in which case the connection is
* pointer to an int to be filled in with the I/O error status of the * shut down when this function returns.
* operation. If @p error is @c NULL, terminates the application when an
* I/O error occurs.
*/ */
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. * @brief Return the error for a request, or NULL if none can ever arrive.

View File

@ -395,33 +395,18 @@ xcb_generic_event_t *xcb_wait_for_event(xcb_connection_t *c)
return ret; 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) if(!c->has_error)
{ {
xcb_generic_event_t *ret = 0;
int success;
_xcb_lock_io(c); _xcb_lock_io(c);
/* FIXME: follow X meets Z architecture changes. */ /* FIXME: follow X meets Z architecture changes. */
success = _xcb_in_read(c); if(_xcb_in_read(c)) /* _xcb_in_read shuts down the connection on error */
if(success)
ret = get_event(c); ret = get_event(c);
_xcb_unlock_io(c); _xcb_unlock_io(c);
if(success)
{
if(error)
*error = 0;
return ret;
}
} }
if(error) return ret;
*error = -1;
else
{
fprintf(stderr, "xcb_poll_for_event: I/O error occured, but no handler provided.\n");
abort();
}
return 0;
} }
xcb_generic_error_t *xcb_request_check(xcb_connection_t *c, xcb_void_cookie_t cookie) xcb_generic_error_t *xcb_request_check(xcb_connection_t *c, xcb_void_cookie_t cookie)