From: Tapani Pälli Date: Mon, 29 Sep 2014 12:02:57 +0000 (+0300) Subject: egl: setup screen iterator before using it X-Git-Url: https://git.libre-soc.org/?a=commitdiff_plain;h=3386e95994ec77248f71dedf49f996e2078f8cea;p=mesa.git egl: setup screen iterator before using it commit 4ed23fd broke creation of pbuffer surfaces, patch fixes the failure, noticed when running chrome with '--use-gl=egl'. Signed-off-by: Tapani Pälli Reviewed-by: Juha-Pekka Heikkila --- diff --git a/src/egl/drivers/dri2/platform_x11.c b/src/egl/drivers/dri2/platform_x11.c index 316ac185611..f8c4b707a29 100644 --- a/src/egl/drivers/dri2/platform_x11.c +++ b/src/egl/drivers/dri2/platform_x11.c @@ -223,6 +223,7 @@ dri2_x11_create_surface(_EGLDriver *drv, _EGLDisplay *disp, EGLint type, dri2_surf->region = XCB_NONE; if (type == EGL_PBUFFER_BIT) { + s = xcb_setup_roots_iterator(xcb_get_setup(dri2_dpy->conn)); screen = get_xcb_screen(s, dri2_dpy->screen); if (!screen) { _eglError(EGL_BAD_NATIVE_WINDOW, "dri2_create_surface"); @@ -230,7 +231,6 @@ dri2_x11_create_surface(_EGLDriver *drv, _EGLDisplay *disp, EGLint type, } dri2_surf->drawable = xcb_generate_id(dri2_dpy->conn); - s = xcb_setup_roots_iterator(xcb_get_setup(dri2_dpy->conn)); xcb_create_pixmap(dri2_dpy->conn, conf->BufferSize, dri2_surf->drawable, screen->root, dri2_surf->base.Width, dri2_surf->base.Height);