From b06bd9379a9841da1d1448534c320fb45e6d6d83 Mon Sep 17 00:00:00 2001 From: Chris Wilson Date: Wed, 28 May 2008 20:32:40 +0100 Subject: [PATCH] [cairo-xlib-surface] Handle a NULL visual along core FillRectangles path. It is possible for an XRender capable surface to use _cairo_xlib_surface_solid_fill_rectangle() if the surface HAS_CREATE_PICTURE() && ! HAS_FILL_RECTANGLES(), in which case we need to handle the surface having no associated visual. Fixes test/xlib-expose-event. --- src/cairo-xlib-surface.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/cairo-xlib-surface.c b/src/cairo-xlib-surface.c index 8cc24c354..619486ccc 100644 --- a/src/cairo-xlib-surface.c +++ b/src/cairo-xlib-surface.c @@ -1626,7 +1626,7 @@ _cairo_xlib_surface_solid_fill_rectangles (cairo_xlib_surface_t *surface, int b = color->blue_short >> 8; int i; - if (surface->visual->class == TrueColor) { + if (surface->visual == NULL || surface->visual->class == TrueColor) { _characterize_field (surface->a_mask, &a_width, &a_shift); _characterize_field (surface->r_mask, &r_width, &r_shift); _characterize_field (surface->g_mask, &g_width, &g_shift);