summaryrefslogtreecommitdiff
path: root/source/fitz/image.c
diff options
context:
space:
mode:
Diffstat (limited to 'source/fitz/image.c')
-rw-r--r--source/fitz/image.c21
1 files changed, 6 insertions, 15 deletions
diff --git a/source/fitz/image.c b/source/fitz/image.c
index 58cd876d..261c9f09 100644
--- a/source/fitz/image.c
+++ b/source/fitz/image.c
@@ -109,7 +109,12 @@ static fz_store_type fz_image_store_type =
void
fz_drop_image(fz_context *ctx, fz_image *image)
{
- fz_drop_key_storable(ctx, &image->key_storable);
+ if (fz_drop_key_storable(ctx, &image->key_storable))
+ {
+ fz_drop_colorspace(ctx, image->colorspace);
+ fz_drop_image(ctx, image->mask);
+ fz_free(ctx, image);
+ }
}
static void
@@ -373,17 +378,6 @@ fz_drop_image_imp(fz_context *ctx, fz_storable *image_)
image->drop_image(ctx, image);
}
-void
-fz_drop_image_base(fz_context *ctx, fz_image *image)
-{
- if (!image)
- return;
-
- fz_drop_colorspace(ctx, image->colorspace);
- fz_drop_image(ctx, image->mask);
- fz_free(ctx, image);
-}
-
static void
drop_compressed_image(fz_context *ctx, fz_image *image_)
{
@@ -391,7 +385,6 @@ drop_compressed_image(fz_context *ctx, fz_image *image_)
fz_drop_pixmap(ctx, image->tile);
fz_drop_compressed_buffer(ctx, image->buffer);
- fz_drop_image_base(ctx, &image->super);
}
static void
@@ -400,7 +393,6 @@ drop_pixmap_image(fz_context *ctx, fz_image *image_)
fz_pixmap_image *image = (fz_pixmap_image *)image_;
fz_drop_pixmap(ctx, image->tile);
- fz_drop_image_base(ctx, &image->super);
}
static fz_pixmap *
@@ -1089,7 +1081,6 @@ static void drop_display_list_image(fz_context *ctx, fz_image *image_)
if (image == NULL)
return;
fz_drop_display_list(ctx, image->list);
- fz_drop_image_base(ctx, &image->super);
}
static size_t