summaryrefslogtreecommitdiff
path: root/render/rastport.c
diff options
context:
space:
mode:
Diffstat (limited to 'render/rastport.c')
-rw-r--r--render/rastport.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/render/rastport.c b/render/rastport.c
index 6d6b3b8a..a6dedf05 100644
--- a/render/rastport.c
+++ b/render/rastport.c
@@ -396,9 +396,9 @@ static void img_w3i1o4(byte *rgb, FZ_PSRC, FZ_PDST, FZ_PCTM)
sa = samplemask(src, srcw, srch, u, v);
ssa = 255 - sa;
dstp[0] = sa + fz_mul255(dstp[0], ssa);
- dstp[1] = rgb[0] + fz_mul255(dstp[1], ssa);
- dstp[2] = rgb[1] + fz_mul255(dstp[2], ssa);
- dstp[3] = rgb[2] + fz_mul255(dstp[3], ssa);
+ dstp[1] = rgb[0] + fz_mul255((short)dstp[1] - rgb[0], ssa);
+ dstp[2] = rgb[1] + fz_mul255((short)dstp[2] - rgb[1], ssa);
+ dstp[3] = rgb[2] + fz_mul255((short)dstp[3] - rgb[2], ssa);
dstp += 4;
u += fa;
v += fb;