diff options
Diffstat (limited to 'source/fitz/load-jxr.c')
-rw-r--r-- | source/fitz/load-jxr.c | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/source/fitz/load-jxr.c b/source/fitz/load-jxr.c index a501e341..e61d6e7a 100644 --- a/source/fitz/load-jxr.c +++ b/source/fitz/load-jxr.c @@ -414,9 +414,18 @@ fz_load_jxr(fz_context *ctx, unsigned char *data, size_t size) if (info.comps >= 4) { fz_pixmap *rgb = fz_new_pixmap(ctx, fz_device_rgb(ctx), image->w, image->h, 1); - fz_convert_pixmap(ctx, rgb, image); + rgb->xres = image->xres; rgb->yres = image->yres; + + fz_try(ctx) + fz_convert_pixmap(ctx, rgb, image); + fz_catch(ctx) + { + fz_drop_pixmap(ctx, rgb); + fz_rethrow(ctx); + } + fz_drop_pixmap(ctx, image); image = rgb; } |