diff options
author | Dom Lachowicz <doml@src.gnome.org> | 2006-02-05 17:28:20 +0000 |
---|---|---|
committer | Dom Lachowicz <doml@src.gnome.org> | 2006-02-05 17:28:20 +0000 |
commit | 4e51c0f645fa01357fd255cdcf422f0d2f2241db (patch) | |
tree | 7f9ea24228844fdf18ad69d3d1989b58226cfcbc /rsvg-cairo-draw.c | |
parent | 40b0d15e7ac1ea1d8d5b1771d98386b3b386b1bf (diff) | |
download | librsvg-4e51c0f645fa01357fd255cdcf422f0d2f2241db.tar.gz |
Bug #330022; code computes wrong pixel values with color = 0xFF and alpha - 0xff. From Emmanuel Pacaud.
Diffstat (limited to 'rsvg-cairo-draw.c')
-rw-r--r-- | rsvg-cairo-draw.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/rsvg-cairo-draw.c b/rsvg-cairo-draw.c index b269a8fa..2c8a7e9b 100644 --- a/rsvg-cairo-draw.c +++ b/rsvg-cairo-draw.c @@ -601,8 +601,8 @@ void rsvg_cairo_render_image (RsvgDrawingCtx *ctx, const GdkPixbuf * pixbuf, { guchar *end = p + 4 * width; guint t1,t2,t3; - -#define MULT(d,c,a,t) G_STMT_START { t = c * a; d = ((t >> 8) + t) >> 8; } G_STMT_END + +#define MULT(d,c,a,t) G_STMT_START { t = c * a; d = t / 0xFF; } G_STMT_END while (p < end) { |