summaryrefslogtreecommitdiff
path: root/rsvg-cairo-draw.c
diff options
context:
space:
mode:
authorDom Lachowicz <doml@src.gnome.org>2006-02-05 17:28:20 +0000
committerDom Lachowicz <doml@src.gnome.org>2006-02-05 17:28:20 +0000
commit4e51c0f645fa01357fd255cdcf422f0d2f2241db (patch)
tree7f9ea24228844fdf18ad69d3d1989b58226cfcbc /rsvg-cairo-draw.c
parent40b0d15e7ac1ea1d8d5b1771d98386b3b386b1bf (diff)
downloadlibrsvg-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.c4
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)
{