diff options
author | Uli Schlachter <psychon@znc.in> | 2011-07-29 10:27:31 +0200 |
---|---|---|
committer | Uli Schlachter <psychon@znc.in> | 2011-07-29 10:29:47 +0200 |
commit | e06a3b97618ec19a26003fd02bc6054f11039ef4 (patch) | |
tree | 21386d8b4231cc0cfb484f06a4c456006d1b2ca0 /src/cairo-xcb-surface.c | |
parent | 27702768bf684ed7c91b505451414237af0f5853 (diff) | |
download | cairo-e06a3b97618ec19a26003fd02bc6054f11039ef4.tar.gz |
xcb: Handle fallback in map_to_image
Fixes (for xcb-fallback): map-all-to-image map-bit-to-image map-to-image-fill
Signed-off-by: Uli Schlachter <psychon@znc.in>
Diffstat (limited to 'src/cairo-xcb-surface.c')
-rw-r--r-- | src/cairo-xcb-surface.c | 7 |
1 files changed, 7 insertions, 0 deletions
diff --git a/src/cairo-xcb-surface.c b/src/cairo-xcb-surface.c index bc23324da..072f3e39c 100644 --- a/src/cairo-xcb-surface.c +++ b/src/cairo-xcb-surface.c @@ -655,6 +655,9 @@ _cairo_xcb_surface_map_to_image (void *abstract_surface, cairo_xcb_surface_t *surface = abstract_surface; cairo_image_surface_t *image; + if (surface->fallback) + return surface->fallback->base.backend->map_to_image (surface->fallback, extents); + image = _get_image (surface, TRUE, extents->x, extents->y, extents->width, extents->height); @@ -686,6 +689,10 @@ static cairo_int_status_t _cairo_xcb_surface_unmap (void *abstract_surface, cairo_image_surface_t *image) { + cairo_xcb_surface_t *surface = abstract_surface; + + if (surface->fallback) + return surface->fallback->base.backend->unmap_image (surface->fallback, image); return _put_image (abstract_surface, image); } |