summaryrefslogtreecommitdiff
path: root/source/fitz/pixmap.c
diff options
context:
space:
mode:
authorRobin Watts <robin.watts@artifex.com>2016-05-25 21:50:17 +0100
committerRobin Watts <robin.watts@artifex.com>2016-05-26 10:36:35 +0100
commitdff58514f30b10850bab0205580af98ec3217d64 (patch)
tree02766bf6e5928057292d0789e61fe2e135ab8a5d /source/fitz/pixmap.c
parentb2772f404fa78554006a016eaca908f7bd4733da (diff)
downloadmupdf-dff58514f30b10850bab0205580af98ec3217d64.tar.xz
Ensure fz_invert_pixmap can cope with no alpha.
Diffstat (limited to 'source/fitz/pixmap.c')
-rw-r--r--source/fitz/pixmap.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/source/fitz/pixmap.c b/source/fitz/pixmap.c
index a8c7da4c..1d985fa9 100644
--- a/source/fitz/pixmap.c
+++ b/source/fitz/pixmap.c
@@ -781,16 +781,18 @@ fz_invert_pixmap(fz_context *ctx, fz_pixmap *pix)
{
unsigned char *s = pix->samples;
int k, x, y;
+ int n1 = pix->n - pix->alpha;
+ int n = pix->n;
for (y = 0; y < pix->h; y++)
{
for (x = 0; x < pix->w; x++)
{
- for (k = 0; k < pix->n - 1; k++)
+ for (k = 0; k < n1; k++)
s[k] = 255 - s[k];
- s += pix->n;
+ s += n;
}
- s += pix->stride - pix->w * pix->n;
+ s += pix->stride - pix->w * n;
}
}