summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/OpenDis.c3
-rw-r--r--src/xcl/display.c6
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)