From b9076389f1ede0479d7e48676c60f4c0cc0d6c9a Mon Sep 17 00:00:00 2001 From: Robin Watts Date: Thu, 29 Jun 2017 12:24:00 +0100 Subject: Remove is_static from fz_new{,_icc}_colorspace. No longer required, and causes leaks. Also, fix some reference counting problems with colorspaces. --- source/pdf/pdf-page.c | 18 +++++++++++++++--- 1 file changed, 15 insertions(+), 3 deletions(-) (limited to 'source/pdf/pdf-page.c') 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) {} -- cgit v1.2.3