summaryrefslogtreecommitdiff
path: root/gs/src/gscolor1.c
diff options
context:
space:
mode:
authorAlex Cherepanov <alex.cherepanov@artifex.com>2003-11-07 04:40:17 +0000
committerAlex Cherepanov <alex.cherepanov@artifex.com>2003-11-07 04:40:17 +0000
commitf666189b22233d5d4a3038483b30ede68a6374b9 (patch)
treeca3b3a2b56b5c686f7f9aa51690771b09fb78506 /gs/src/gscolor1.c
parentcb255467d6dac05da9910db30586db46549c128b (diff)
Restore the invariant: effective_transfer always points to the transfer
functions in the graphic state or halftone. Old code briefly left effective_transfer pointing to garbage, which caused relocation of garbage pointers and crash if GC happened at the right time. Fix bug 687101 git-svn-id: http://svn.ghostscript.com/ghostscript/trunk@4343 a1074d23-0009-0410-80fe-cf8c14f379e6
Diffstat (limited to 'gs/src/gscolor1.c')
-rw-r--r--gs/src/gscolor1.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/gs/src/gscolor1.c b/gs/src/gscolor1.c
index 4a0494d9a..cc5eed386 100644
--- a/gs/src/gscolor1.c
+++ b/gs/src/gscolor1.c
@@ -168,7 +168,8 @@ gs_setcolortransfer_remap(gs_state * pgs, gs_mapping_proc red_proc,
load_transfer_map(pgs, ptran->gray, 0.0);
gx_set_effective_transfer(pgs);
gx_unset_dev_color(pgs);
- }
+ } else
+ gx_set_effective_transfer(pgs);
return 0;
fblue:
rc_assign(ptran->green, old.green, "setcolortransfer");