diff options
author | Benjamin Otte <otte@gnome.org> | 2008-11-20 12:00:24 +0100 |
---|---|---|
committer | Benjamin Otte <otte@gnome.org> | 2008-11-20 12:00:24 +0100 |
commit | 380d85041a76a5c4224c7edbf9367eddef0ff56b (patch) | |
tree | d4e9c3404de5d2e466475beb0ac426f4a20e6ec2 | |
parent | 6579cea20fc9a5eac0c98464ec41fa8cb6488659 (diff) |
fix regression with color transforms on opaque images (bug #18626)
-rw-r--r-- | swfdec/swfdec_renderer.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/swfdec/swfdec_renderer.c b/swfdec/swfdec_renderer.c index 787e5927..59137199 100644 --- a/swfdec/swfdec_renderer.c +++ b/swfdec/swfdec_renderer.c @@ -424,7 +424,8 @@ swfdec_renderer_transform (SwfdecRenderer *renderer, cairo_surface_t *surface, /* FIXME: This function should likely be a vfunc. * Or better: it should compile to a shader */ - if (cairo_surface_get_content (surface) & CAIRO_CONTENT_ALPHA) { + if (cairo_surface_get_content (surface) & CAIRO_CONTENT_ALPHA || + trans->aa < 256 || trans->ab < 0) { target = cairo_image_surface_create (CAIRO_FORMAT_ARGB32, rect->width, rect->height); mask = 0; } else { |