diff options
Diffstat (limited to 'source/fitz/load-tiff.c')
-rw-r--r-- | source/fitz/load-tiff.c | 18 |
1 files changed, 8 insertions, 10 deletions
diff --git a/source/fitz/load-tiff.c b/source/fitz/load-tiff.c index 60b0e8a6..117b9816 100644 --- a/source/fitz/load-tiff.c +++ b/source/fitz/load-tiff.c @@ -1288,21 +1288,19 @@ fz_load_tiff_subimage(fz_context *ctx, unsigned char *buf, size_t len, int subim { fz_pixmap *rgb = fz_new_pixmap(ctx, fz_device_rgb(ctx), image->w, image->h, 1); - fz_var(rgb); + rgb->xres = image->xres; + rgb->yres = image->yres; fz_try(ctx) - { fz_convert_pixmap(ctx, rgb, image); - rgb->xres = image->xres; - rgb->yres = image->yres; - fz_drop_pixmap(ctx, image); - image = rgb; - rgb = NULL; - } - fz_always(ctx) - fz_drop_pixmap(ctx, rgb); fz_catch(ctx) + { + fz_drop_pixmap(ctx, rgb); fz_rethrow(ctx); + } + + fz_drop_pixmap(ctx, image); + image = rgb; } fz_premultiply_pixmap(ctx, image); |