summaryrefslogtreecommitdiff
path: root/source/fitz/load-tiff.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/fitz/load-tiff.c')
-rw-r--r--source/fitz/load-tiff.c18
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);