cairo_image_surface_t *surface_image;
_cairo_surface_fill_rectangles (cairo_surface_t		*surface,				cairo_operator_t	operator,				const cairo_color_t	*color,				cairo_rectangle_t	*rects,				int			num_rects){    cairo_int_status_t status;    cairo_image_surface_t *surface_image;    if (num_rects == 0)	return CAIRO_STATUS_SUCCESS;    status = surface->backend->fill_rectangles (surface,						operator,						color,						rects, num_rects);    if (status != CAIRO_INT_STATUS_UNSUPPORTED)	return status;    surface_image = _cairo_surface_get_image (surface);    surface_image->base.backend->fill_rectangles (surface_image,						  operator,						  color,						  rects, num_rects);    status = _cairo_surface_set_image (surface, surface_image);    cairo_surface_destroy (&surface_image->base);    return status;}