diff options
-rw-r--r-- | .gitignore | 2 | ||||
-rw-r--r-- | src/cmstypes.c | 12 |
2 files changed, 7 insertions, 7 deletions
@@ -57,3 +57,5 @@ DerivedData /utils/linkicc/linkicc /utils/jpgicc/jpgicc *.tlog +*.ipdb +*.iobj diff --git a/src/cmstypes.c b/src/cmstypes.c index b571502..825b11e 100644 --- a/src/cmstypes.c +++ b/src/cmstypes.c @@ -1866,6 +1866,7 @@ cmsBool Type_LUT8_Write(struct _cms_typehandler_struct* self, cmsIOHANDLER* io, mpe = NewLUT -> Elements; if (mpe ->Type == cmsSigMatrixElemType) { + if (mpe->InputChannels != 3 || mpe->OutputChannels != 3) return FALSE; MatMPE = (_cmsStageMatrixData*) mpe ->Data; mpe = mpe -> Next; } @@ -1891,7 +1892,6 @@ cmsBool Type_LUT8_Write(struct _cms_typehandler_struct* self, cmsIOHANDLER* io, return FALSE; } - if (clut == NULL) clutPoints = 0; else @@ -1905,16 +1905,14 @@ cmsBool Type_LUT8_Write(struct _cms_typehandler_struct* self, cmsIOHANDLER* io, n = NewLUT->InputChannels * NewLUT->OutputChannels; if (MatMPE != NULL) { - - for (i = 0; i < n; i++) + + for (i = 0; i < 9; i++) { if (!_cmsWrite15Fixed16Number(io, MatMPE->Double[i])) return FALSE; } } else { - - if (n != 9) return FALSE; - + if (!_cmsWrite15Fixed16Number(io, 1)) return FALSE; if (!_cmsWrite15Fixed16Number(io, 0)) return FALSE; if (!_cmsWrite15Fixed16Number(io, 0)) return FALSE; @@ -2193,7 +2191,7 @@ cmsBool Type_LUT16_Write(struct _cms_typehandler_struct* self, cmsIOHANDLER* io, if (!_cmsWriteUInt8Number(io, 0)) return FALSE; // Padding if (MatMPE != NULL) { - + for (i = 0; i < 9; i++) { if (!_cmsWrite15Fixed16Number(io, MatMPE->Double[i])) return FALSE; |