diff options
author | Chris Wilson <chris@chris-wilson.co.uk> | 2009-10-16 10:11:41 +0100 |
---|---|---|
committer | Chris Wilson <chris@chris-wilson.co.uk> | 2009-10-16 17:04:16 +0100 |
commit | 54df07a3da2bfbbdbe2dde92ca298ac0d7b8d255 (patch) | |
tree | 760fa258de427d0701291d8877b2e4741a81dc5e /src/cairo-surface-fallback.c | |
parent | 6a19a82efd3afe8fb8bd30e5362b247de8efe159 (diff) | |
download | cairo-54df07a3da2bfbbdbe2dde92ca298ac0d7b8d255.tar.gz |
[surface] Don't AND in the desired content.
Gah, that was a horrible mistake. It was a flawed hack to create Pixmaps
of the correct depth when cloning patterns for blitting to the xlib
backend. However, it had the nasty side-effect of discarding alpha when
targeting Window surfaces. The correct solution is to simply correct the
Pixmap of the desired depth and render a matching pattern onto the
surface - i.e. a reversal the current acquire -> clone. See the
forthcoming revised xcb backend on how I should have done it originally.
Diffstat (limited to 'src/cairo-surface-fallback.c')
-rw-r--r-- | src/cairo-surface-fallback.c | 3 |
1 files changed, 1 insertions, 2 deletions
diff --git a/src/cairo-surface-fallback.c b/src/cairo-surface-fallback.c index f1453b8ab..15d2a63f2 100644 --- a/src/cairo-surface-fallback.c +++ b/src/cairo-surface-fallback.c @@ -1835,7 +1835,6 @@ _cairo_surface_fallback_composite_trapezoids (cairo_operator_t op, cairo_status_t _cairo_surface_fallback_clone_similar (cairo_surface_t *surface, cairo_surface_t *src, - cairo_content_t content, int src_x, int src_y, int width, @@ -1849,7 +1848,7 @@ _cairo_surface_fallback_clone_similar (cairo_surface_t *surface, cairo_status_t status; new_surface = _cairo_surface_create_similar_scratch (surface, - src->content & content, + src->content, width, height); if (new_surface == NULL) return CAIRO_INT_STATUS_UNSUPPORTED; |