cairo_xcb_surface_t *surface = abstract_surface;
_cairo_xcb_surface_set_filter (void *abstract_surface, cairo_filter_t filter){    cairo_xcb_surface_t *surface = abstract_surface;    char *render_filter;    if (!(surface->picture.xid	  && CAIRO_SURFACE_RENDER_HAS_FILTERS(surface)))	return CAIRO_STATUS_SUCCESS;    switch (filter) {    case CAIRO_FILTER_FAST:	render_filter = "fast";	break;    case CAIRO_FILTER_GOOD:	render_filter = "good";	break;    case CAIRO_FILTER_BEST:	render_filter = "best";	break;    case CAIRO_FILTER_NEAREST:	render_filter = "nearest";	break;    case CAIRO_FILTER_BILINEAR:	render_filter = "bilinear";	break;    default:	render_filter = "best";	break;    }    XCBRenderSetPictureFilter(surface->dpy, surface->picture,			     strlen(render_filter), render_filter, 0, NULL);    return CAIRO_STATUS_SUCCESS;}