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:
parent
3309a73c82
commit
0fc2f9f04a
@ -947,6 +947,21 @@ hostx_get_event(EphyrHostXEvent * ev)
|
|||||||
}
|
}
|
||||||
|
|
||||||
switch (xev->response_type & 0x7f) {
|
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: {
|
case XCB_EXPOSE: {
|
||||||
xcb_expose_event_t *expose = (xcb_expose_event_t *)xev;
|
xcb_expose_event_t *expose = (xcb_expose_event_t *)xev;
|
||||||
struct EphyrHostScreen *host_screen =
|
struct EphyrHostScreen *host_screen =
|
||||||
|
Loading…
Reference in New Issue
Block a user