summaryrefslogtreecommitdiff
path: root/src/egl/drivers/dri2
diff options
context:
space:
mode:
authorKristian Høgsberg <krh@bitplanet.net>2010-05-28 15:50:11 -0400
committerKristian Høgsberg <krh@bitplanet.net>2010-05-28 21:31:22 -0400
commitc5ddaa2cd71c100fe4aa6da36b6ac1a59e6665e3 (patch)
tree6ae0b43cd14824236584cbe76610c2f540d4cbec /src/egl/drivers/dri2
parentba10b2732b4fe1a9d034a5f9e0e0a31c6b2a5b08 (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.
Diffstat (limited to 'src/egl/drivers/dri2')
-rw-r--r--src/egl/drivers/dri2/egl_dri2.c10
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 eb9a6510ed..a9c9b986cc 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))