From 2dd8a8e7c4cc37c9b4a2c3d961739ad14259a83a Mon Sep 17 00:00:00 2001 From: Tor Andersson Date: Tue, 19 May 2015 17:22:30 +0200 Subject: Add locks to fz_set_device_xxx colorspace context functions. --- source/fitz/colorspace.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/source/fitz/colorspace.c b/source/fitz/colorspace.c index d145be27..5549496e 100644 --- a/source/fitz/colorspace.c +++ b/source/fitz/colorspace.c @@ -253,29 +253,37 @@ fz_lookup_device_colorspace(fz_context *ctx, char *name) void fz_set_device_gray(fz_context *ctx, fz_colorspace *cs) { + fz_lock(ctx, FZ_LOCK_ALLOC); fz_drop_colorspace(ctx, ctx->colorspace->gray); ctx->colorspace->gray = fz_keep_colorspace(ctx, cs); + fz_unlock(ctx, FZ_LOCK_ALLOC); } void fz_set_device_rgb(fz_context *ctx, fz_colorspace *cs) { + fz_lock(ctx, FZ_LOCK_ALLOC); fz_drop_colorspace(ctx, ctx->colorspace->rgb); ctx->colorspace->rgb = fz_keep_colorspace(ctx, cs); + fz_unlock(ctx, FZ_LOCK_ALLOC); } void fz_set_device_bgr(fz_context *ctx, fz_colorspace *cs) { + fz_lock(ctx, FZ_LOCK_ALLOC); fz_drop_colorspace(ctx, ctx->colorspace->bgr); ctx->colorspace->bgr = fz_keep_colorspace(ctx, cs); + fz_unlock(ctx, FZ_LOCK_ALLOC); } void fz_set_device_cmyk(fz_context *ctx, fz_colorspace *cs) { + fz_lock(ctx, FZ_LOCK_ALLOC); fz_drop_colorspace(ctx, ctx->colorspace->cmyk); ctx->colorspace->cmyk = fz_keep_colorspace(ctx, cs); + fz_unlock(ctx, FZ_LOCK_ALLOC); } int -- cgit v1.2.3