summaryrefslogtreecommitdiff
path: root/xicc/xlut.c
diff options
context:
space:
mode:
authorJörg Frings-Fürst <debian@jff-webhosting.net>2015-08-23 12:17:05 +0200
committerJörg Frings-Fürst <debian@jff-webhosting.net>2015-08-23 12:17:05 +0200
commitc0b89ac5bfb90835ef01573267020e42d4fe070c (patch)
tree733c16852d964d84b7565af4bdaff0bcca901b88 /xicc/xlut.c
parent094535c010320967639e8e86f974d878e80baa72 (diff)
Imported Upstream version 1.8.0upstream/1.8.0
Diffstat (limited to 'xicc/xlut.c')
-rwxr-xr-x[-rw-r--r--]xicc/xlut.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/xicc/xlut.c b/xicc/xlut.c
index 5b07ca5..8b7699c 100644..100755
--- a/xicc/xlut.c
+++ b/xicc/xlut.c
@@ -50,6 +50,8 @@
/*
+ ~~~~~!!!!! This has all been fixed ?
+
NOTE :- an alternative to the way display profile absolute is handled here
would be to always chromatically adapt the illuminant to D50, and encode
that in the Chromatic adapation tag. To make absolute colorimetric
@@ -2267,6 +2269,7 @@ icxInk *ink /* inking details (NULL for default) */
) {
icxLuLut *p; /* Object being created */
icmLuLut *luluto = (icmLuLut *)plu; /* Lookup Lut type object */
+ icmLookupFunc fnc;
int i;
@@ -2314,7 +2317,7 @@ fprintf(stderr,"~1 Internal optimised 4D separations not yet implemented!\n");
p->intent = intent;
/* Get the effective spaces of underlying icm */
- plu->spaces(plu, &p->ins, NULL, &p->outs, NULL, NULL, NULL, NULL, &p->pcs, NULL);
+ plu->spaces(plu, &p->ins, NULL, &p->outs, NULL, NULL, NULL, &fnc, &p->pcs, NULL);
/* Override with pcsor */
/* We assume that any profile that has a CIE color as a "device" color */
@@ -2460,7 +2463,8 @@ fprintf(stderr,"~1 Internal optimised 4D separations not yet implemented!\n");
/* Setup all the clipping, ink limiting and auxiliary stuff, */
/* in case a reverse call is used. Only do this if we know */
/* the reverse stuff isn't going to fail due to channel limits. */
- if (p->clutTable->within_restrictedsize(p->clutTable)) {
+ if (fnc != icmGamut && fnc != icmPreview
+ && p->clutTable->within_restrictedsize(p->clutTable)) {
if (setup_ink_icxLuLut(p, ink, 1) != 0) {
p->del((icxLuBase *)p);