diff options
author | Jamey Sharp <jamey@minilop.net> | 2006-10-05 18:32:29 -0700 |
---|---|---|
committer | Jamey Sharp <jamey@minilop.net> | 2006-10-05 18:32:29 -0700 |
commit | f1fcad2e3fd17aaf1294f1d8e9f406fd5b32a863 (patch) | |
tree | 014b26137102ae8b97793c5e4718a85577213045 | |
parent | e754b3b078d556c7861da56aad47d244e9199e06 (diff) |
XCB: correctly handle failure to connect to X server.
-rw-r--r-- | src/OpenDis.c | 3 | ||||
-rw-r--r-- | src/xcl/display.c | 6 |
2 files changed, 4 insertions, 5 deletions
diff --git a/src/OpenDis.c b/src/OpenDis.c index 65f6eb80..37a0a54c 100644 --- a/src/OpenDis.c +++ b/src/OpenDis.c @@ -921,7 +921,8 @@ static void OutOfMemory (dpy, setup) char *setup; { #if USE_XCB - xcb_disconnect(dpy->xcl->connection); + if(dpy->xcl->connection) + xcb_disconnect(dpy->xcl->connection); #else /* !USE_XCB */ _XDisconnectDisplay (dpy->trans_conn); #endif /* USE_XCB */ diff --git a/src/xcl/display.c b/src/xcl/display.c index 51bc88fe..d4a65252 100644 --- a/src/xcl/display.c +++ b/src/xcl/display.c @@ -80,15 +80,13 @@ int _XConnectXCB(Display *dpy, _Xconst char *display, char **fullnamep, int *scr c = xcb_connect(display, 0); _XUnlockMutex(_Xglobal_lock); - if(!c) - return 0; - dpy->fd = xcb_get_file_descriptor(c); dpy->xcl->connection = c; dpy->xcl->pending_requests_tail = &dpy->xcl->pending_requests; dpy->xcl->next_xid = xcb_generate_id(dpy->xcl->connection); - return 1; + + return !xcb_connection_has_error(c); } void _XFreeXCLStructure(Display *dpy) |