diff --git a/AUTHORS b/AUTHORS index 488f4c0b7..289fecbae 100644 --- a/AUTHORS +++ b/AUTHORS @@ -16,6 +16,7 @@ Steve Chaplin Bug fixes for PNG reading Tomasz Cholewo Bug fixes Manu Cornet SVG build fix Frederic Crozat Fix test suite for OPD platforms (IA64 or PPC64) +Julien Danjou XCB fixes Radek DoulĂ­k Bug report and test case John Ehresman Build fixes for win32 John Ellson First font/glyph extents functions diff --git a/src/cairo-xcb-surface.c b/src/cairo-xcb-surface.c index 9b7eb4b7f..c63e851e4 100644 --- a/src/cairo-xcb-surface.c +++ b/src/cairo-xcb-surface.c @@ -1732,7 +1732,8 @@ _cairo_xcb_surface_create_internal (xcb_connection_t *dpy, int depth) { cairo_xcb_surface_t *surface; - const xcb_render_query_version_reply_t *r; + const xcb_query_extension_reply_t *er; + const xcb_render_query_version_reply_t *r = NULL; surface = malloc (sizeof (cairo_xcb_surface_t)); if (surface == NULL) @@ -1764,7 +1765,10 @@ _cairo_xcb_surface_create_internal (xcb_connection_t *dpy, ; } - r = xcb_render_util_query_version(dpy); + er = xcb_get_extension_data(dpy, &xcb_render_id); + if(er && er->present) { + r = xcb_render_util_query_version(dpy); + } if (r) { surface->render_major = r->major_version; surface->render_minor = r->minor_version;