mirror of
https://github.com/LibreOffice/core.git
synced 2025-07-26 15:45:26 +00:00
const up lcms2
Change-Id: Iaca3404bd9e8de00d84a89eb86b5e3b9cc12535b Reviewed-on: https://gerrit.libreoffice.org/c/core/+/188089 Reviewed-by: Caolán McNamara <caolan.mcnamara@collabora.com> Tested-by: Jenkins
This commit is contained in:
392
external/lcms2/0001-const-up-some-static-arrays.patch.1
vendored
Normal file
392
external/lcms2/0001-const-up-some-static-arrays.patch.1
vendored
Normal file
@ -0,0 +1,392 @@
|
||||
From f48dd19c6cd6152b5fe56c6fb94d2e966c709f57 Mon Sep 17 00:00:00 2001
|
||||
From: =?UTF-8?q?Caol=C3=A1n=20McNamara?= <caolan.mcnamara@collabora.com>
|
||||
Date: Sun, 20 Jul 2025 17:43:36 +0100
|
||||
Subject: [PATCH] const up some static arrays
|
||||
|
||||
which enables moving them out of the .data section
|
||||
---
|
||||
src/cmsalpha.c | 2 +-
|
||||
src/cmscgats.c | 4 ++--
|
||||
src/cmscnvrt.c | 8 ++++----
|
||||
src/cmsio0.c | 14 +++++++-------
|
||||
src/cmsopt.c | 12 ++++++------
|
||||
src/cmspcs.c | 26 +++++++++++++-------------
|
||||
src/cmsps2.c | 4 ++--
|
||||
src/cmssamp.c | 2 +-
|
||||
src/cmstypes.c | 16 ++++++++--------
|
||||
src/lcms2_internal.h | 8 ++++----
|
||||
10 files changed, 48 insertions(+), 48 deletions(-)
|
||||
|
||||
diff --git a/src/cmsalpha.c b/src/cmsalpha.c
|
||||
index a5f1a16..b8e1a26 100644
|
||||
--- a/src/cmsalpha.c
|
||||
+++ b/src/cmsalpha.c
|
||||
@@ -377,7 +377,7 @@ int FormatterPos(cmsUInt32Number frm)
|
||||
static
|
||||
cmsFormatterAlphaFn _cmsGetFormatterAlpha(cmsContext id, cmsUInt32Number in, cmsUInt32Number out)
|
||||
{
|
||||
-static cmsFormatterAlphaFn FormattersAlpha[6][6] = {
|
||||
+static const cmsFormatterAlphaFn FormattersAlpha[6][6] = {
|
||||
|
||||
/* from 8 */ { copy8, from8to16, from8to16SE, from8toHLF, from8toFLT, from8toDBL },
|
||||
/* from 16*/ { from16to8, copy16, from16to16, from16toHLF, from16toFLT, from16toDBL },
|
||||
diff --git a/src/cmscgats.c b/src/cmscgats.c
|
||||
index 53e3442..27be3b9 100644
|
||||
--- a/src/cmscgats.c
|
||||
+++ b/src/cmscgats.c
|
||||
@@ -266,7 +266,7 @@ typedef struct {
|
||||
WRITEMODE as; // How is supposed to be written
|
||||
} PROPERTY;
|
||||
|
||||
-static PROPERTY PredefinedProperties[] = {
|
||||
+static const PROPERTY PredefinedProperties[] = {
|
||||
|
||||
{"NUMBER_OF_FIELDS", WRITE_UNCOOKED}, // Required - NUMBER OF FIELDS
|
||||
{"NUMBER_OF_SETS", WRITE_UNCOOKED}, // Required - NUMBER OF SETS
|
||||
@@ -344,7 +344,7 @@ static PROPERTY PredefinedProperties[] = {
|
||||
|
||||
|
||||
// Predefined sample types on dataset
|
||||
-static const char* PredefinedSampleID[] = {
|
||||
+static const char* const PredefinedSampleID[] = {
|
||||
"SAMPLE_ID", // Identifies sample that data represents
|
||||
"STRING", // Identifies label, or other non-machine readable value.
|
||||
// Value must begin and end with a " symbol
|
||||
diff --git a/src/cmscnvrt.c b/src/cmscnvrt.c
|
||||
index 9dfca7d..a050db3 100644
|
||||
--- a/src/cmscnvrt.c
|
||||
+++ b/src/cmscnvrt.c
|
||||
@@ -103,7 +103,7 @@ void DupPluginIntentsList(struct _cmsContext_struct* ctx,
|
||||
const struct _cmsContext_struct* src)
|
||||
{
|
||||
_cmsIntentsPluginChunkType newHead = { NULL };
|
||||
- cmsIntentsList* entry;
|
||||
+ const cmsIntentsList* entry;
|
||||
cmsIntentsList* Anterior = NULL;
|
||||
_cmsIntentsPluginChunkType* head = (_cmsIntentsPluginChunkType*) src->chunks[IntentPlugin];
|
||||
|
||||
@@ -148,10 +148,10 @@ void _cmsAllocIntentsPluginChunk(struct _cmsContext_struct* ctx,
|
||||
|
||||
// Search the list for a suitable intent. Returns NULL if not found
|
||||
static
|
||||
-cmsIntentsList* SearchIntent(cmsContext ContextID, cmsUInt32Number Intent)
|
||||
+const cmsIntentsList* SearchIntent(cmsContext ContextID, cmsUInt32Number Intent)
|
||||
{
|
||||
_cmsIntentsPluginChunkType* ctx = ( _cmsIntentsPluginChunkType*) _cmsContextGetClientChunk(ContextID, IntentPlugin);
|
||||
- cmsIntentsList* pt;
|
||||
+ const cmsIntentsList* pt;
|
||||
|
||||
for (pt = ctx -> Intents; pt != NULL; pt = pt -> Next)
|
||||
if (pt ->Intent == Intent) return pt;
|
||||
@@ -1108,7 +1108,7 @@ cmsPipeline* _cmsLinkProfiles(cmsContext ContextID,
|
||||
cmsUInt32Number dwFlags)
|
||||
{
|
||||
cmsUInt32Number i;
|
||||
- cmsIntentsList* Intent;
|
||||
+ const cmsIntentsList* Intent;
|
||||
|
||||
// Make sure a reasonable number of profiles is provided
|
||||
if (nProfiles <= 0 || nProfiles > 255) {
|
||||
diff --git a/src/cmsio0.c b/src/cmsio0.c
|
||||
index 859def3..30b6f1e 100644
|
||||
--- a/src/cmsio0.c
|
||||
+++ b/src/cmsio0.c
|
||||
@@ -658,7 +658,7 @@ void _cmsDeleteTagByPos(_cmsICCPROFILE* Icc, int i)
|
||||
_cmsFree(Icc ->ContextID, Icc ->TagPtrs[i]);
|
||||
}
|
||||
else {
|
||||
- cmsTagTypeHandler* TypeHandler = Icc ->TagTypeHandlers[i];
|
||||
+ const cmsTagTypeHandler* TypeHandler = Icc ->TagTypeHandlers[i];
|
||||
|
||||
if (TypeHandler != NULL) {
|
||||
|
||||
@@ -1310,7 +1310,7 @@ cmsBool SaveTags(_cmsICCPROFILE* Icc, _cmsICCPROFILE* FileOrig)
|
||||
cmsTagDescriptor* TagDescriptor;
|
||||
cmsTagTypeSignature TypeBase;
|
||||
cmsTagTypeSignature Type;
|
||||
- cmsTagTypeHandler* TypeHandler;
|
||||
+ const cmsTagTypeHandler* TypeHandler;
|
||||
cmsFloat64Number Version = cmsGetProfileVersion((cmsHPROFILE) Icc);
|
||||
cmsTagTypeHandler LocalTypeHandler;
|
||||
|
||||
@@ -1564,7 +1564,7 @@ void freeOneTag(_cmsICCPROFILE* Icc, cmsUInt32Number i)
|
||||
{
|
||||
if (Icc->TagPtrs[i]) {
|
||||
|
||||
- cmsTagTypeHandler* TypeHandler = Icc->TagTypeHandlers[i];
|
||||
+ const cmsTagTypeHandler* TypeHandler = Icc->TagTypeHandlers[i];
|
||||
|
||||
if (TypeHandler != NULL) {
|
||||
cmsTagTypeHandler LocalTypeHandler = *TypeHandler;
|
||||
@@ -1637,7 +1637,7 @@ void* CMSEXPORT cmsReadTag(cmsHPROFILE hProfile, cmsTagSignature sig)
|
||||
{
|
||||
_cmsICCPROFILE* Icc = (_cmsICCPROFILE*) hProfile;
|
||||
cmsIOHANDLER* io;
|
||||
- cmsTagTypeHandler* TypeHandler;
|
||||
+ const cmsTagTypeHandler* TypeHandler;
|
||||
cmsTagTypeHandler LocalTypeHandler;
|
||||
cmsTagDescriptor* TagDescriptor;
|
||||
cmsTagTypeSignature BaseType;
|
||||
@@ -1771,7 +1771,7 @@ Error:
|
||||
cmsTagTypeSignature _cmsGetTagTrueType(cmsHPROFILE hProfile, cmsTagSignature sig)
|
||||
{
|
||||
_cmsICCPROFILE* Icc = (_cmsICCPROFILE*) hProfile;
|
||||
- cmsTagTypeHandler* TypeHandler;
|
||||
+ const cmsTagTypeHandler* TypeHandler;
|
||||
int n;
|
||||
|
||||
// Search for given tag in ICC profile directory
|
||||
@@ -1789,7 +1789,7 @@ cmsTagTypeSignature _cmsGetTagTrueType(cmsHPROFILE hProfile, cmsTagSignature sig
|
||||
cmsBool CMSEXPORT cmsWriteTag(cmsHPROFILE hProfile, cmsTagSignature sig, const void* data)
|
||||
{
|
||||
_cmsICCPROFILE* Icc = (_cmsICCPROFILE*) hProfile;
|
||||
- cmsTagTypeHandler* TypeHandler = NULL;
|
||||
+ const cmsTagTypeHandler* TypeHandler = NULL;
|
||||
cmsTagTypeHandler LocalTypeHandler;
|
||||
cmsTagDescriptor* TagDescriptor = NULL;
|
||||
cmsTagTypeSignature Type;
|
||||
@@ -1910,7 +1910,7 @@ cmsUInt32Number CMSEXPORT cmsReadRawTag(cmsHPROFILE hProfile, cmsTagSignature si
|
||||
void *Object;
|
||||
int i;
|
||||
cmsIOHANDLER* MemIO;
|
||||
- cmsTagTypeHandler* TypeHandler = NULL;
|
||||
+ const cmsTagTypeHandler* TypeHandler = NULL;
|
||||
cmsTagTypeHandler LocalTypeHandler;
|
||||
cmsTagDescriptor* TagDescriptor = NULL;
|
||||
cmsUInt32Number rc;
|
||||
diff --git a/src/cmsopt.c b/src/cmsopt.c
|
||||
index 7d4fcf4..27f8d6b 100644
|
||||
--- a/src/cmsopt.c
|
||||
+++ b/src/cmsopt.c
|
||||
@@ -547,7 +547,7 @@ cmsBool PatchLUT(cmsStage* CLUT, cmsUInt16Number At[], cmsUInt16Number Value[],
|
||||
|
||||
// Auxiliary, to see if two values are equal or very different
|
||||
static
|
||||
-cmsBool WhitesAreEqual(cmsUInt32Number n, cmsUInt16Number White1[], cmsUInt16Number White2[] )
|
||||
+cmsBool WhitesAreEqual(cmsUInt32Number n, const cmsUInt16Number White1[], const cmsUInt16Number White2[] )
|
||||
{
|
||||
cmsUInt32Number i;
|
||||
|
||||
@@ -564,7 +564,7 @@ cmsBool WhitesAreEqual(cmsUInt32Number n, cmsUInt16Number White1[], cmsUInt16Num
|
||||
static
|
||||
cmsBool FixWhiteMisalignment(cmsPipeline* Lut, cmsColorSpaceSignature EntryColorSpace, cmsColorSpaceSignature ExitColorSpace)
|
||||
{
|
||||
- cmsUInt16Number *WhitePointIn, *WhitePointOut;
|
||||
+ const cmsUInt16Number *WhitePointIn, *WhitePointOut;
|
||||
cmsUInt16Number WhiteIn[cmsMAXCHANNELS], WhiteOut[cmsMAXCHANNELS], ObtainedOut[cmsMAXCHANNELS];
|
||||
cmsUInt32Number i, nOuts, nIns;
|
||||
cmsStage *PreLin = NULL, *CLUT = NULL, *PostLin = NULL;
|
||||
@@ -1799,13 +1799,13 @@ typedef struct _cmsOptimizationCollection_st {
|
||||
|
||||
_cmsOPToptimizeFn OptimizePtr;
|
||||
|
||||
- struct _cmsOptimizationCollection_st *Next;
|
||||
+ const struct _cmsOptimizationCollection_st *Next;
|
||||
|
||||
} _cmsOptimizationCollection;
|
||||
|
||||
|
||||
// The built-in list. We currently implement 4 types of optimizations. Joining of curves, matrix-shaper, linearization and resampling
|
||||
-static _cmsOptimizationCollection DefaultOptimization[] = {
|
||||
+static const _cmsOptimizationCollection DefaultOptimization[] = {
|
||||
|
||||
{ OptimizeByJoiningCurves, &DefaultOptimization[1] },
|
||||
{ OptimizeMatrixShaper, &DefaultOptimization[2] },
|
||||
@@ -1823,7 +1823,7 @@ void DupPluginOptimizationList(struct _cmsContext_struct* ctx,
|
||||
const struct _cmsContext_struct* src)
|
||||
{
|
||||
_cmsOptimizationPluginChunkType newHead = { NULL };
|
||||
- _cmsOptimizationCollection* entry;
|
||||
+ const _cmsOptimizationCollection* entry;
|
||||
_cmsOptimizationCollection* Anterior = NULL;
|
||||
_cmsOptimizationPluginChunkType* head = (_cmsOptimizationPluginChunkType*) src->chunks[OptimizationPlugin];
|
||||
|
||||
@@ -1910,7 +1910,7 @@ cmsBool CMSEXPORT _cmsOptimizePipeline(cmsContext ContextID,
|
||||
cmsUInt32Number* dwFlags)
|
||||
{
|
||||
_cmsOptimizationPluginChunkType* ctx = ( _cmsOptimizationPluginChunkType*) _cmsContextGetClientChunk(ContextID, OptimizationPlugin);
|
||||
- _cmsOptimizationCollection* Opts;
|
||||
+ const _cmsOptimizationCollection* Opts;
|
||||
cmsBool AnySuccess = FALSE;
|
||||
cmsStage* mpe;
|
||||
|
||||
diff --git a/src/cmspcs.c b/src/cmspcs.c
|
||||
index 84a62b4..6295dfd 100644
|
||||
--- a/src/cmspcs.c
|
||||
+++ b/src/cmspcs.c
|
||||
@@ -705,22 +705,22 @@ cmsUInt32Number CMSEXPORT _cmsReasonableGridpointsByColorspace(cmsColorSpaceSign
|
||||
|
||||
|
||||
cmsBool _cmsEndPointsBySpace(cmsColorSpaceSignature Space,
|
||||
- cmsUInt16Number **White,
|
||||
- cmsUInt16Number **Black,
|
||||
+ const cmsUInt16Number **White,
|
||||
+ const cmsUInt16Number **Black,
|
||||
cmsUInt32Number *nOutputs)
|
||||
{
|
||||
// Only most common spaces
|
||||
|
||||
- static cmsUInt16Number RGBblack[4] = { 0, 0, 0 };
|
||||
- static cmsUInt16Number RGBwhite[4] = { 0xffff, 0xffff, 0xffff };
|
||||
- static cmsUInt16Number CMYKblack[4] = { 0xffff, 0xffff, 0xffff, 0xffff }; // 400% of ink
|
||||
- static cmsUInt16Number CMYKwhite[4] = { 0, 0, 0, 0 };
|
||||
- static cmsUInt16Number LABblack[4] = { 0, 0x8080, 0x8080 }; // V4 Lab encoding
|
||||
- static cmsUInt16Number LABwhite[4] = { 0xFFFF, 0x8080, 0x8080 };
|
||||
- static cmsUInt16Number CMYblack[4] = { 0xffff, 0xffff, 0xffff };
|
||||
- static cmsUInt16Number CMYwhite[4] = { 0, 0, 0 };
|
||||
- static cmsUInt16Number Grayblack[4] = { 0 };
|
||||
- static cmsUInt16Number GrayWhite[4] = { 0xffff };
|
||||
+ static const cmsUInt16Number RGBblack[4] = { 0, 0, 0 };
|
||||
+ static const cmsUInt16Number RGBwhite[4] = { 0xffff, 0xffff, 0xffff };
|
||||
+ static const cmsUInt16Number CMYKblack[4] = { 0xffff, 0xffff, 0xffff, 0xffff }; // 400% of ink
|
||||
+ static const cmsUInt16Number CMYKwhite[4] = { 0, 0, 0, 0 };
|
||||
+ static const cmsUInt16Number LABblack[4] = { 0, 0x8080, 0x8080 }; // V4 Lab encoding
|
||||
+ static const cmsUInt16Number LABwhite[4] = { 0xFFFF, 0x8080, 0x8080 };
|
||||
+ static const cmsUInt16Number CMYblack[4] = { 0xffff, 0xffff, 0xffff };
|
||||
+ static const cmsUInt16Number CMYwhite[4] = { 0, 0, 0 };
|
||||
+ static const cmsUInt16Number Grayblack[4] = { 0 };
|
||||
+ static const cmsUInt16Number GrayWhite[4] = { 0xffff };
|
||||
|
||||
switch (Space) {
|
||||
|
||||
@@ -947,4 +947,4 @@ cmsUInt32Number CMSEXPORT cmsChannelsOf(cmsColorSpaceSignature ColorSpace)
|
||||
int n = cmsChannelsOfColorSpace(ColorSpace);
|
||||
if (n < 0) return 3;
|
||||
return (cmsUInt32Number)n;
|
||||
-}
|
||||
\ No newline at end of file
|
||||
+}
|
||||
diff --git a/src/cmsps2.c b/src/cmsps2.c
|
||||
index cb2db85..6fb828e 100644
|
||||
--- a/src/cmsps2.c
|
||||
+++ b/src/cmsps2.c
|
||||
@@ -573,8 +573,8 @@ int OutputValueSampler(CMSREGISTER const cmsUInt16Number In[], CMSREGISTER cmsUI
|
||||
if ((In[1] >= 0x7800 && In[1] <= 0x8800) &&
|
||||
(In[2] >= 0x7800 && In[2] <= 0x8800)) {
|
||||
|
||||
- cmsUInt16Number* Black;
|
||||
- cmsUInt16Number* White;
|
||||
+ const cmsUInt16Number* Black;
|
||||
+ const cmsUInt16Number* White;
|
||||
cmsUInt32Number nOutputs;
|
||||
|
||||
if (!_cmsEndPointsBySpace(sc ->ColorSpace, &White, &Black, &nOutputs))
|
||||
diff --git a/src/cmssamp.c b/src/cmssamp.c
|
||||
index af76afa..56aa859 100644
|
||||
--- a/src/cmssamp.c
|
||||
+++ b/src/cmssamp.c
|
||||
@@ -66,7 +66,7 @@ cmsBool BlackPointAsDarkerColorant(cmsHPROFILE hInput,
|
||||
cmsCIEXYZ* BlackPoint,
|
||||
cmsUInt32Number dwFlags)
|
||||
{
|
||||
- cmsUInt16Number *Black;
|
||||
+ const cmsUInt16Number *Black;
|
||||
cmsHTRANSFORM xform;
|
||||
cmsColorSpaceSignature Space;
|
||||
cmsUInt32Number nChannels;
|
||||
diff --git a/src/cmstypes.c b/src/cmstypes.c
|
||||
index b456276..d9c0105 100644
|
||||
--- a/src/cmstypes.c
|
||||
+++ b/src/cmstypes.c
|
||||
@@ -44,7 +44,7 @@
|
||||
typedef struct _cmsTagTypeLinkedList_st {
|
||||
|
||||
cmsTagTypeHandler Handler;
|
||||
- struct _cmsTagTypeLinkedList_st* Next;
|
||||
+ const struct _cmsTagTypeLinkedList_st* Next;
|
||||
|
||||
} _cmsTagTypeLinkedList;
|
||||
|
||||
@@ -96,9 +96,9 @@ cmsBool RegisterTypesPlugin(cmsContext id, cmsPluginBase* Data, _cmsMemoryClient
|
||||
// Return handler for a given type or NULL if not found. Shared between normal types and MPE. It first tries the additions
|
||||
// made by plug-ins and then the built-in defaults.
|
||||
static
|
||||
-cmsTagTypeHandler* GetHandler(cmsTagTypeSignature sig, _cmsTagTypeLinkedList* PluginLinkedList, _cmsTagTypeLinkedList* DefaultLinkedList)
|
||||
+const cmsTagTypeHandler* GetHandler(cmsTagTypeSignature sig, _cmsTagTypeLinkedList* PluginLinkedList, const _cmsTagTypeLinkedList* DefaultLinkedList)
|
||||
{
|
||||
- _cmsTagTypeLinkedList* pt;
|
||||
+ const _cmsTagTypeLinkedList* pt;
|
||||
|
||||
for (pt = PluginLinkedList;
|
||||
pt != NULL;
|
||||
@@ -4701,7 +4701,7 @@ cmsBool Type_MPEclut_Write(struct _cms_typehandler_struct* self, cmsIOHANDLER*
|
||||
|
||||
|
||||
// This is the list of built-in MPE types
|
||||
-static _cmsTagTypeLinkedList SupportedMPEtypes[] = {
|
||||
+static const _cmsTagTypeLinkedList SupportedMPEtypes[] = {
|
||||
|
||||
{{ (cmsTagTypeSignature) cmsSigBAcsElemType, NULL, NULL, NULL, NULL, NULL, 0 }, &SupportedMPEtypes[1] }, // Ignore those elements for now
|
||||
{{ (cmsTagTypeSignature) cmsSigEAcsElemType, NULL, NULL, NULL, NULL, NULL, 0 }, &SupportedMPEtypes[2] }, // (That's what the spec says)
|
||||
@@ -4721,7 +4721,7 @@ cmsBool ReadMPEElem(struct _cms_typehandler_struct* self,
|
||||
cmsUInt32Number SizeOfTag)
|
||||
{
|
||||
cmsStageSignature ElementSig;
|
||||
- cmsTagTypeHandler* TypeHandler;
|
||||
+ const cmsTagTypeHandler* TypeHandler;
|
||||
cmsUInt32Number nItems;
|
||||
cmsPipeline *NewLUT = (cmsPipeline *) Cargo;
|
||||
_cmsTagTypePluginChunkType* MPETypePluginChunk = ( _cmsTagTypePluginChunkType*) _cmsContextGetClientChunk(self->ContextID, MPEPlugin);
|
||||
@@ -4817,7 +4817,7 @@ cmsBool Type_MPE_Write(struct _cms_typehandler_struct* self, cmsIOHANDLER* io, v
|
||||
cmsStageSignature ElementSig;
|
||||
cmsPipeline* Lut = (cmsPipeline*) Ptr;
|
||||
cmsStage* Elem = Lut ->Elements;
|
||||
- cmsTagTypeHandler* TypeHandler;
|
||||
+ const cmsTagTypeHandler* TypeHandler;
|
||||
_cmsTagTypePluginChunkType* MPETypePluginChunk = ( _cmsTagTypePluginChunkType*) _cmsContextGetClientChunk(self->ContextID, MPEPlugin);
|
||||
|
||||
BaseOffset = io ->Tell(io) - sizeof(_cmsTagBase);
|
||||
@@ -5934,7 +5934,7 @@ void DupTagTypeList(struct _cmsContext_struct* ctx,
|
||||
int loc)
|
||||
{
|
||||
_cmsTagTypePluginChunkType newHead = { NULL };
|
||||
- _cmsTagTypeLinkedList* entry;
|
||||
+ const _cmsTagTypeLinkedList* entry;
|
||||
_cmsTagTypeLinkedList* Anterior = NULL;
|
||||
_cmsTagTypePluginChunkType* head = (_cmsTagTypePluginChunkType*) src->chunks[loc];
|
||||
|
||||
@@ -6006,7 +6006,7 @@ cmsBool _cmsRegisterMultiProcessElementPlugin(cmsContext id, cmsPluginBase* Dat
|
||||
|
||||
|
||||
// Wrapper for tag types
|
||||
-cmsTagTypeHandler* _cmsGetTagTypeHandler(cmsContext ContextID, cmsTagTypeSignature sig)
|
||||
+const cmsTagTypeHandler* _cmsGetTagTypeHandler(cmsContext ContextID, cmsTagTypeSignature sig)
|
||||
{
|
||||
_cmsTagTypePluginChunkType* ctx = ( _cmsTagTypePluginChunkType*) _cmsContextGetClientChunk(ContextID, TagTypePlugin);
|
||||
|
||||
diff --git a/src/lcms2_internal.h b/src/lcms2_internal.h
|
||||
index 5b3f263..569ccfb 100644
|
||||
--- a/src/lcms2_internal.h
|
||||
+++ b/src/lcms2_internal.h
|
||||
@@ -838,7 +838,7 @@ typedef struct _cms_iccprofile_struct {
|
||||
cmsUInt32Number TagOffsets[MAX_TABLE_TAG];
|
||||
cmsBool TagSaveAsRaw[MAX_TABLE_TAG]; // True to write uncooked
|
||||
void * TagPtrs[MAX_TABLE_TAG];
|
||||
- cmsTagTypeHandler* TagTypeHandlers[MAX_TABLE_TAG]; // Same structure may be serialized on different types
|
||||
+ const cmsTagTypeHandler* TagTypeHandlers[MAX_TABLE_TAG]; // Same structure may be serialized on different types
|
||||
// depending on profile version, so we keep track of the
|
||||
// type handler for each tag in the list.
|
||||
// Special
|
||||
@@ -855,7 +855,7 @@ cmsBool _cmsWriteHeader(_cmsICCPROFILE* Icc, cmsUInt32Number UsedSp
|
||||
int _cmsSearchTag(_cmsICCPROFILE* Icc, cmsTagSignature sig, cmsBool lFollowLinks);
|
||||
|
||||
// Tag types
|
||||
-cmsTagTypeHandler* _cmsGetTagTypeHandler(cmsContext ContextID, cmsTagTypeSignature sig);
|
||||
+const cmsTagTypeHandler* _cmsGetTagTypeHandler(cmsContext ContextID, cmsTagTypeSignature sig);
|
||||
cmsTagTypeSignature _cmsGetTagTrueType(cmsHPROFILE hProfile, cmsTagSignature sig);
|
||||
cmsTagDescriptor* _cmsGetTagDescriptor(cmsContext ContextID, cmsTagSignature sig);
|
||||
|
||||
@@ -995,8 +995,8 @@ CMSCHECKPOINT cmsUInt16Number CMSEXPORT _cmsQuantizeVal(cmsFloat64Number i, cms
|
||||
CMSAPI cmsUInt32Number CMSEXPORT _cmsReasonableGridpointsByColorspace(cmsColorSpaceSignature Colorspace, cmsUInt32Number dwFlags);
|
||||
|
||||
cmsBool _cmsEndPointsBySpace(cmsColorSpaceSignature Space,
|
||||
- cmsUInt16Number **White,
|
||||
- cmsUInt16Number **Black,
|
||||
+ const cmsUInt16Number **White,
|
||||
+ const cmsUInt16Number **Black,
|
||||
cmsUInt32Number *nOutputs);
|
||||
|
||||
CMSAPI cmsBool CMSEXPORT _cmsOptimizePipeline(cmsContext ContextID,
|
||||
--
|
||||
2.49.0
|
||||
|
4
external/lcms2/UnpackedTarball_lcms2.mk
vendored
4
external/lcms2/UnpackedTarball_lcms2.mk
vendored
@ -20,8 +20,12 @@ ifneq ($(MSYSTEM),)
|
||||
$(eval $(call gb_UnpackedTarball_set_patchflags,lcms2,--binary))
|
||||
endif
|
||||
|
||||
# external/lcms2/0001-const-up-some-static-arrays.patch.1
|
||||
# upstream effort at: https://github.com/mm2/Little-CMS/pull/501
|
||||
|
||||
$(eval $(call gb_UnpackedTarball_add_patches,lcms2,\
|
||||
external/lcms2/lcms2-2.4-windows.patch \
|
||||
external/lcms2/0001-const-up-some-static-arrays.patch.1 \
|
||||
))
|
||||
|
||||
# vim: set noet sw=4 ts=4:
|
||||
|
Reference in New Issue
Block a user