Xephyr: handle errors in event loop

Signed-off-by: Julien Cristau <jcristau@debian.org>
Reviewed-by: Eric Anholt <eric@anholt.net>
Reviewed-by: Mikhail Gusarov <dottedmag@dottedmag.net>
This commit is contained in:
Julien Cristau 2010-09-25 16:05:07 +02:00 committed by Eric Anholt
parent 3309a73c82
commit 0fc2f9f04a

View File

@ -947,6 +947,21 @@ hostx_get_event(EphyrHostXEvent * ev)
}
switch (xev->response_type & 0x7f) {
case 0: { /* error */
xcb_generic_error_t *e = (xcb_generic_error_t *)xev;
fprintf(stderr, "X11 error\n"
"Error code: %hhu\n"
"Sequence number: %hu\n"
"Major code: %hhu\tMinor code: %hu\n"
"Error value: %u\n",
e->error_code,
e->sequence,
e->major_code, e->minor_code,
e->resource_id);
free(xev);
exit(1);
}
case XCB_EXPOSE: {
xcb_expose_event_t *expose = (xcb_expose_event_t *)xev;
struct EphyrHostScreen *host_screen =