summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTor Andersson <tor.andersson@artifex.com>2015-05-19 17:22:30 +0200
committerTor Andersson <tor.andersson@artifex.com>2015-05-19 17:22:53 +0200
commit2dd8a8e7c4cc37c9b4a2c3d961739ad14259a83a (patch)
treed7ea7764a7ebb192abe46c015246b4419e7dc29e
parent02cc7931ef0f04218bd50b3e0e396a6dcb009962 (diff)
downloadmupdf-2dd8a8e7c4cc37c9b4a2c3d961739ad14259a83a.tar.xz
Add locks to fz_set_device_xxx colorspace context functions.
-rw-r--r--source/fitz/colorspace.c8
1 files changed, 8 insertions, 0 deletions
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