From 0fc2f9f04a44599f598380d4df992bec60c0e3a1 Mon Sep 17 00:00:00 2001 From: Julien Cristau Date: Sat, 25 Sep 2010 16:05:07 +0200 Subject: [PATCH] Xephyr: handle errors in event loop Signed-off-by: Julien Cristau Reviewed-by: Eric Anholt Reviewed-by: Mikhail Gusarov --- hw/kdrive/ephyr/hostx.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/hw/kdrive/ephyr/hostx.c b/hw/kdrive/ephyr/hostx.c index 68bb48ae5..1eef64ef7 100644 --- a/hw/kdrive/ephyr/hostx.c +++ b/hw/kdrive/ephyr/hostx.c @@ -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 =