summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source/fitz/load-jpx.c10
-rw-r--r--source/pdf/pdf-image.c10
2 files changed, 9 insertions, 11 deletions
diff --git a/source/fitz/load-jpx.c b/source/fitz/load-jpx.c
index dfb89f41..dd7bf9e1 100644
--- a/source/fitz/load-jpx.c
+++ b/source/fitz/load-jpx.c
@@ -75,7 +75,6 @@ fz_pixmap *
fz_load_jpx(fz_context *ctx, unsigned char *data, int size, fz_colorspace *defcs, int indexed)
{
fz_pixmap *img;
- fz_colorspace *origcs;
opj_dparameters_t params;
opj_codec_t *codec;
opj_image_t *jpx;
@@ -179,7 +178,6 @@ fz_load_jpx(fz_context *ctx, unsigned char *data, int size, fz_colorspace *defcs
else if (n > 4) { n = 4; a = 1; }
else { a = 0; }
- origcs = defcs;
if (defcs)
{
if (defcs->n == n)
@@ -246,13 +244,5 @@ fz_load_jpx(fz_context *ctx, unsigned char *data, int size, fz_colorspace *defcs
fz_premultiply_pixmap(ctx, img);
}
- if (origcs != defcs)
- {
- fz_pixmap *tmp = fz_new_pixmap(ctx, origcs, w, h);
- fz_convert_pixmap(ctx, tmp, img);
- fz_drop_pixmap(ctx, img);
- img = tmp;
- }
-
return img;
}
diff --git a/source/pdf/pdf-image.c b/source/pdf/pdf-image.c
index bb663ba2..9f4195e4 100644
--- a/source/pdf/pdf-image.c
+++ b/source/pdf/pdf-image.c
@@ -40,7 +40,15 @@ pdf_load_image_imp(pdf_document *doc, pdf_obj *rdb, pdf_obj *dict, fz_stream *cs
{
fz_pixmap *mask_pixmap;
if (image->n != 2)
- fz_throw(ctx, FZ_ERROR_GENERIC, "soft mask must be grayscale");
+ {
+ fz_pixmap *gray;
+ fz_irect bbox;
+ fz_warn(ctx, "soft mask should be grayscale");
+ gray = fz_new_pixmap_with_bbox(ctx, fz_device_gray(ctx), fz_pixmap_bbox(ctx, image->tile, &bbox));
+ fz_convert_pixmap(ctx, gray, image->tile);
+ fz_drop_pixmap(ctx, image->tile);
+ image->tile = gray;
+ }
mask_pixmap = fz_alpha_from_gray(ctx, image->tile, 1);
fz_drop_pixmap(ctx, image->tile);
image->tile = mask_pixmap;