diff options
author | Robin Watts <robin.watts@artifex.com> | 2017-06-29 12:24:00 +0100 |
---|---|---|
committer | Robin Watts <robin.watts@artifex.com> | 2017-07-04 11:01:00 +0100 |
commit | b9076389f1ede0479d7e48676c60f4c0cc0d6c9a (patch) | |
tree | 6d32e662dcfc681d2bd9b091b99ee317d417e96f /source/pdf/pdf-page.c | |
parent | c87bc4ed995b8dcf50277169fbd00cf6e0a640c8 (diff) | |
download | mupdf-b9076389f1ede0479d7e48676c60f4c0cc0d6c9a.tar.xz |
Remove is_static from fz_new{,_icc}_colorspace.
No longer required, and causes leaks.
Also, fix some reference counting problems with colorspaces.
Diffstat (limited to 'source/pdf/pdf-page.c')
-rw-r--r-- | source/pdf/pdf-page.c | 18 |
1 files changed, 15 insertions, 3 deletions
diff --git a/source/pdf/pdf-page.c b/source/pdf/pdf-page.c index f243bdcd..0a7f968e 100644 --- a/source/pdf/pdf-page.c +++ b/source/pdf/pdf-page.c @@ -700,7 +700,11 @@ pdf_load_default_colorspaces(fz_context *ctx, pdf_document *doc, pdf_page *page) { cs_obj = pdf_dict_get(ctx, obj, PDF_NAME_DefaultGray); if (cs_obj) - fz_set_default_gray(ctx, default_cs, pdf_load_colorspace(ctx, cs_obj)); + { + fz_colorspace *cs = pdf_load_colorspace(ctx, cs_obj); + fz_set_default_gray(ctx, default_cs, cs); + fz_drop_colorspace(ctx, cs); + } } fz_catch(ctx) {} @@ -709,7 +713,11 @@ pdf_load_default_colorspaces(fz_context *ctx, pdf_document *doc, pdf_page *page) { cs_obj = pdf_dict_get(ctx, obj, PDF_NAME_DefaultRGB); if (cs_obj) - fz_set_default_rgb(ctx, default_cs, pdf_load_colorspace(ctx, cs_obj)); + { + fz_colorspace *cs = pdf_load_colorspace(ctx, cs_obj); + fz_set_default_rgb(ctx, default_cs, cs); + fz_drop_colorspace(ctx, cs); + } } fz_catch(ctx) {} @@ -718,7 +726,11 @@ pdf_load_default_colorspaces(fz_context *ctx, pdf_document *doc, pdf_page *page) { cs_obj = pdf_dict_get(ctx, obj, PDF_NAME_DefaultCMYK); if (cs_obj) - fz_set_default_cmyk(ctx, default_cs, pdf_load_colorspace(ctx, cs_obj)); + { + fz_colorspace *cs = pdf_load_colorspace(ctx, cs_obj); + fz_set_default_cmyk(ctx, default_cs, cs); + fz_drop_colorspace(ctx, cs); + } } fz_catch(ctx) {} |