summaryrefslogtreecommitdiff
path: root/source/fitz/pixmap.c
diff options
context:
space:
mode:
authorSebastian Rasmussen <sebras@gmail.com>2016-10-29 20:27:45 +0800
committerSebastian Rasmussen <sebras@gmail.com>2016-12-14 18:44:40 +0100
commitda0dfab07a3e5f0eb80dac5cc32bba8cc5d82473 (patch)
treeadaf8494f50b067f98c8416696401365ef8a9f85 /source/fitz/pixmap.c
parenta8edb9b209d75b844165b041fc49e1db302d9c51 (diff)
downloadmupdf-da0dfab07a3e5f0eb80dac5cc32bba8cc5d82473.tar.xz
Always create colorless pixmaps with alpha.
Diffstat (limited to 'source/fitz/pixmap.c')
-rw-r--r--source/fitz/pixmap.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/source/fitz/pixmap.c b/source/fitz/pixmap.c
index c5a8a8cc..9131a7a1 100644
--- a/source/fitz/pixmap.c
+++ b/source/fitz/pixmap.c
@@ -89,7 +89,9 @@ fz_new_pixmap_with_data(fz_context *ctx, fz_colorspace *colorspace, int w, int h
fz_pixmap *
fz_new_pixmap(fz_context *ctx, fz_colorspace *colorspace, int w, int h, int alpha)
{
- int stride = (fz_colorspace_n(ctx, colorspace) + alpha) * w;
+ int stride;
+ if (!colorspace) alpha = 1;
+ stride = (fz_colorspace_n(ctx, colorspace) + alpha) * w;
return fz_new_pixmap_with_data(ctx, colorspace, w, h, alpha, stride, NULL);
}
@@ -107,7 +109,9 @@ fz_pixmap *
fz_new_pixmap_with_bbox_and_data(fz_context *ctx, fz_colorspace *colorspace, const fz_irect *r, int alpha, unsigned char *samples)
{
int w = r->x1 - r->x0;
- int stride = (fz_colorspace_n(ctx, colorspace) + alpha) * w;
+ int stride;
+ if (!colorspace) alpha = 1;
+ stride = (fz_colorspace_n(ctx, colorspace) + alpha) * w;
fz_pixmap *pixmap = fz_new_pixmap_with_data(ctx, colorspace, w, r->y1 - r->y0, alpha, stride, samples);
pixmap->x = r->x0;
pixmap->y = r->y0;