diff options
author | Kristian Høgsberg <[email protected]> | 2010-05-28 15:50:11 -0400 |
---|---|---|
committer | Kristian Høgsberg <[email protected]> | 2010-05-28 21:31:22 -0400 |
commit | c5ddaa2cd71c100fe4aa6da36b6ac1a59e6665e3 (patch) | |
tree | 6ae0b43cd14824236584cbe76610c2f540d4cbec | |
parent | ba10b2732b4fe1a9d034a5f9e0e0a31c6b2a5b08 (diff) |
egl_dri2: Check for xcb_connect() failure the right way
It always returns a valid xcb_connection_t, but if connection failed, it's in the
error state.
-rw-r--r-- | src/egl/drivers/dri2/egl_dri2.c | 10 |
1 files changed, 4 insertions, 6 deletions
diff --git a/src/egl/drivers/dri2/egl_dri2.c b/src/egl/drivers/dri2/egl_dri2.c index eb9a6510ed0..a9c9b986cc5 100644 --- a/src/egl/drivers/dri2/egl_dri2.c +++ b/src/egl/drivers/dri2/egl_dri2.c @@ -647,16 +647,14 @@ dri2_initialize(_EGLDriver *drv, _EGLDisplay *disp, disp->DriverData = (void *) dri2_dpy; if (disp->NativeDisplay == NULL) { dri2_dpy->conn = xcb_connect(0, 0); - if (!dri2_dpy->conn) { - _eglLog(_EGL_WARNING, "DRI2: xcb_connect failed"); - goto cleanup_dpy; - } } else { dri2_dpy->conn = XGetXCBConnection(disp->NativeDisplay); } - if (dri2_dpy->conn == NULL) - goto cleanup_conn; + if (xcb_connection_has_error(dri2_dpy->conn)) { + _eglLog(_EGL_WARNING, "DRI2: xcb_connect failed"); + goto cleanup_dpy; + } if (dri2_dpy->conn) { if (!dri2_connect(dri2_dpy)) |