summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--source/fitz/colorspace.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/source/fitz/colorspace.c b/source/fitz/colorspace.c
index 27072a49..55f2f080 100644
--- a/source/fitz/colorspace.c
+++ b/source/fitz/colorspace.c
@@ -835,7 +835,6 @@ void fz_set_cmm_engine(fz_context *ctx, const fz_cmm_engine *engine)
if (cct->cmm == engine)
return;
- fz_drop_cmm_context(ctx);
fz_drop_colorspace(ctx, cct->gray);
fz_drop_colorspace(ctx, cct->rgb);
fz_drop_colorspace(ctx, cct->bgr);
@@ -846,8 +845,12 @@ void fz_set_cmm_engine(fz_context *ctx, const fz_cmm_engine *engine)
cct->bgr = NULL;
cct->cmyk = NULL;
cct->lab = NULL;
+
+ fz_drop_cmm_context(ctx);
cct->cmm = engine;
+
fz_new_cmm_context(ctx);
+
if (engine)
{
cct->gray = fz_new_icc_colorspace(ctx, FZ_COLORSPACE_GRAY, NULL);